/**
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*
* Copyright 2012-2016 the original author or authors.
*/
package org.assertj.guava.api;
import static java.lang.String.format;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.entry;
import static org.assertj.core.util.FailureMessages.actualIsNull;
import static org.assertj.guava.api.Assertions.assertThat;
import static org.junit.Assert.fail;
import org.assertj.core.data.MapEntry;
import org.junit.Test;
public class MultimapAssert_contains_Test extends MultimapAssertBaseTest {
@Test
public void should_pass_if_actual_contains_given_entries() {
assertThat(actual).contains(entry("Bulls", "Derrick Rose"));
assertThat(actual).contains(entry("Lakers", "Kobe Bryant"), entry("Spurs", "Tim Duncan"));
}
@Test
public void should_fail_if_actual_is_null() {
expectException(AssertionError.class, actualIsNull());
actual = null;
assertThat(actual).contains(entry("Lakers", "Kobe Bryant"));
}
@Test
public void should_fail_if_entries_to_look_for_are_null() {
expectException(IllegalArgumentException.class, "The entries to look for should not be null");
assertThat(actual).contains((MapEntry<String, String>[]) null);
}
@Test
public void should_fail_if_entries_to_look_for_are_empty() {
expectException(IllegalArgumentException.class, "The entries to look for should not be empty");
assertThat(actual).contains();
}
@Test
public void should_fail_if_actual_does_not_contain_all_given_entries() {
try {
assertThat(actual).contains(entry("Lakers", "Kobe Bryant"), entry("Spurs", "Derrick Rose"));
} catch (AssertionError e) {
// @format:off
assertThat(e).hasMessage(format("%nExpecting:%n" +
" <{Lakers=[Kobe Bryant, Magic Johnson, Kareem Abdul Jabbar], Bulls=[Michael Jordan, Scottie Pippen, Derrick Rose], Spurs=[Tony Parker, Tim Duncan, Manu Ginobili]}>%n" +
"to contain:%n" +
" <[MapEntry[key=\"Lakers\", value=\"Kobe Bryant\"],%n" +
" MapEntry[key=\"Spurs\", value=\"Derrick Rose\"]]>%n" +
"but could not find:%n" +
" <[MapEntry[key=\"Spurs\", value=\"Derrick Rose\"]]>%n"));
// @format:on
return;
}
fail("Assertion error expected");
}
}