Package org.assertj.guava.api
Class MultimapAssert<K,V>
- java.lang.Object
-
- org.assertj.core.api.AbstractAssert<MultimapAssert<K,V>,com.google.common.collect.Multimap<K,V>>
-
- org.assertj.guava.api.MultimapAssert<K,V>
-
- All Implemented Interfaces:
org.assertj.core.api.Assert<MultimapAssert<K,V>,com.google.common.collect.Multimap<K,V>>
,org.assertj.core.api.Descriptable<MultimapAssert<K,V>>
,org.assertj.core.api.ExtensionPoints<MultimapAssert<K,V>,com.google.common.collect.Multimap<K,V>>
public class MultimapAssert<K,V> extends org.assertj.core.api.AbstractAssert<MultimapAssert<K,V>,com.google.common.collect.Multimap<K,V>>
Assertions for guavaMultimap
.- Author:
- marcelfalliere, miralak, Joel Costigliola
-
-
Field Summary
Fields Modifier and Type Field Description (package private) org.assertj.core.internal.Failures
failures
-
Constructor Summary
Constructors Modifier Constructor Description protected
MultimapAssert(com.google.common.collect.Multimap<K,V> actual)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MultimapAssert<K,V>
contains(org.assertj.core.data.MapEntry<K,V>... entries)
Verifies that the actualMultimap
contains the given entries.MultimapAssert<K,V>
containsAllEntriesOf(com.google.common.collect.Multimap<? extends K,? extends V> other)
Verifies that the actualMultimap
contains all entries of the given one (it might contain more entries).MultimapAssert<K,V>
containsKeys(K... keys)
Verifies that the actualMultimap
contains the given keys.MultimapAssert<K,V>
containsValues(V... values)
Verifies that the actualMultimap
contains the given values for any key.protected com.google.common.collect.Multimap<K,V>
getActual()
MultimapAssert<K,V>
hasSameEntriesAs(com.google.common.collect.Multimap<? extends K,? extends V> other)
Verifies that the actualMultimap
has the same entries as the given one.
It allows to compare two multimaps having the same content but who are not equal because being of different types likeSetMultimap
andListMultimap
.MultimapAssert<K,V>
hasSize(int expectedSize)
Verifies that the number of values in the actualMultimap
is equal to the given one.void
isEmpty()
Verifies that the actualMultimap
is empty.void
isNotEmpty()
Verifies that the actualMultimap
is not empty.-
Methods inherited from class org.assertj.core.api.AbstractAssert
asInstanceOf, asList, assertionError, asString, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, equals, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasSameHashCodeAs, hasToString, inBinary, inHexadecimal, is, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, newListAssertInstance, overridingErrorMessage, satisfies, satisfies, satisfiesAnyOf, satisfiesAnyOf, setCustomRepresentation, throwAssertionError, usingComparator, usingComparator, usingDefaultComparator, usingRecursiveComparison, usingRecursiveComparison, withFailMessage, withRepresentation, withThreadDumpOnError
-
-
-
-
Method Detail
-
containsKeys
public MultimapAssert<K,V> containsKeys(K... keys)
Verifies that the actualMultimap
contains the given keys.
Example :
If theMultimap<String, String> actual = ArrayListMultimap.create(); actual.putAll("Lakers", newArrayList("Kobe Bryant", "Magic Johnson", "Kareem Abdul Jabbar")); actual.putAll("Spurs", newArrayList("Tony Parker", "Tim Duncan", "Manu Ginobili")); actual.putAll("Bulls", newArrayList("Michael Jordan", "Scottie Pippen", "Derrick Rose")); assertThat(actual).containsKeys("Lakers", "Bulls");
keys
argument is null or empty, anIllegalArgumentException
is thrown.- Parameters:
keys
- the keys to look for in actualMultimap
.- Returns:
- this
MultimapAssert
for assertions chaining. - Throws:
IllegalArgumentException
- if no param keys have been set.AssertionError
- if the actualMultimap
isnull
.AssertionError
- if the actualMultimap
does not contain the given keys.
-
contains
@SafeVarargs public final MultimapAssert<K,V> contains(org.assertj.core.data.MapEntry<K,V>... entries)
Verifies that the actualMultimap
contains the given entries.
Example :
If theMultimap<String, String> actual = ArrayListMultimap.create(); actual.putAll("Lakers", newArrayList("Kobe Bryant", "Magic Johnson", "Kareem Abdul Jabbar")); actual.putAll("Spurs", newArrayList("Tony Parker", "Tim Duncan", "Manu Ginobili")); actual.putAll("Bulls", newArrayList("Michael Jordan", "Scottie Pippen", "Derrick Rose")); // entry can be statically imported from org.assertj.guava.api.Assertions or org.assertj.guava.data.MapEntry assertThat(actual).contains(entry("Lakers", "Kobe Bryant"), entry("Spurs", "Tim Duncan"));
entries
argument is null or empty, anIllegalArgumentException
is thrown.- Parameters:
entries
- the entries to look for in actualMultimap
.- Returns:
- this
MultimapAssert
for assertions chaining. - Throws:
IllegalArgumentException
- if no param entries have been set.AssertionError
- if the actualMultimap
isnull
.AssertionError
- if the actualMultimap
does not contain the given entries.
-
containsValues
public MultimapAssert<K,V> containsValues(V... values)
Verifies that the actualMultimap
contains the given values for any key.
Example :
If theMultimap<String, String> actual = ArrayListMultimap.create(); actual.putAll("Lakers", newArrayList("Kobe Bryant", "Magic Johnson", "Kareem Abdul Jabbar")); actual.putAll("Spurs", newArrayList("Tony Parker", "Tim Duncan", "Manu Ginobili")); actual.putAll("Bulls", newArrayList("Michael Jordan", "Scottie Pippen", "Derrick Rose")); // note that given values are not linked to same key assertThat(actual).containsValues("Kobe Bryant", "Michael Jordan");
values
argument is null or empty, anIllegalArgumentException
is thrown.- Parameters:
values
- the values to look for in actualMultimap
.- Returns:
- this
MultimapAssert
for assertions chaining. - Throws:
IllegalArgumentException
- if no param values have been set.AssertionError
- if the actualMultimap
isnull
.AssertionError
- if the actualMultimap
does not contain the given values.
-
isEmpty
public void isEmpty()
Verifies that the actualMultimap
is empty.Example :
Multimap<String, String> actual = ArrayListMultimap.create(); assertThat(actual).isEmpty();
- Throws:
AssertionError
- if the actualMultimap
isnull
.AssertionError
- if the actualMultimap
is not empty.
-
isNotEmpty
public void isNotEmpty()
Verifies that the actualMultimap
is not empty.Example :
Multimap<String, String> actual = ArrayListMultimap.create(); nba.put("Bulls", "Derrick Rose"); nba.put("Bulls", "Joachim Noah"); assertThat(nba).isNotEmpty();
- Throws:
AssertionError
- if the actualMultimap
isnull
.AssertionError
- if the actualMultimap
is empty.
-
hasSize
public MultimapAssert<K,V> hasSize(int expectedSize)
Verifies that the number of values in the actualMultimap
is equal to the given one.Example :
Multimap<String, String> actual = ArrayListMultimap.create(); actual.putAll("Lakers", newArrayList("Kobe Bryant", "Magic Johnson", "Kareem Abdul Jabbar")); actual.putAll("Spurs", newArrayList("Tony Parker", "Tim Duncan", "Manu Ginobili")); actual.putAll("Bulls", newArrayList("Michael Jordan", "Scottie Pippen", "Derrick Rose")); assertThat(actual).hasSize(9);
- Parameters:
expectedSize
- the expected size of actualMultimap
.- Returns:
- this
MultimapAssert
for assertions chaining. - Throws:
AssertionError
- if the actualMultimap
isnull
.AssertionError
- if the number of values of the actualMultimap
is not equal to the given one.
-
hasSameEntriesAs
public final MultimapAssert<K,V> hasSameEntriesAs(com.google.common.collect.Multimap<? extends K,? extends V> other)
Verifies that the actualMultimap
has the same entries as the given one.
It allows to compare two multimaps having the same content but who are not equal because being of different types likeSetMultimap
andListMultimap
.Example :
Multimap<String, String> actual = ArrayListMultimap.create(); listMultimap.putAll("Spurs", newArrayList("Tony Parker", "Tim Duncan", "Manu Ginobili")); listMultimap.putAll("Bulls", newArrayList("Michael Jordan", "Scottie Pippen", "Derrick Rose")); Multimap<String, String> setMultimap = TreeMultimap.create(); setMultimap.putAll("Spurs", newHashSet("Tony Parker", "Tim Duncan", "Manu Ginobili")); setMultimap.putAll("Bulls", newHashSet("Michael Jordan", "Scottie Pippen", "Derrick Rose")); // assertion will pass as listMultimap and setMultimap have the same content assertThat(listMultimap).hasSameEntriesAs(setMultimap); // this assertion FAILS even though both multimaps have the same content assertThat(listMultimap).isEqualTo(setMultimap);
- Parameters:
other
-Multimap
to compare actual's entries with.- Returns:
- this
MultimapAssert
for assertions chaining. - Throws:
AssertionError
- if the actualMultimap
isnull
.IllegalArgumentException
- if the otherMultimap
isnull
.AssertionError
- if actualMultimap
does not have the same entries as the otherMultimap
.
-
containsAllEntriesOf
public final MultimapAssert<K,V> containsAllEntriesOf(com.google.common.collect.Multimap<? extends K,? extends V> other)
Verifies that the actualMultimap
contains all entries of the given one (it might contain more entries).Example :
Multimap<String, String> actual = ArrayListMultimap.create(); actual.putAll("Spurs", newArrayList("Tony Parker", "Tim Duncan", "Manu Ginobili")); actual.putAll("Bulls", newArrayList("Michael Jordan", "Scottie Pippen", "Derrick Rose")); Multimap<String, String> other = TreeMultimap.create(); other.putAll("Spurs", newHashSet("Tony Parker", "Tim Duncan")); other.putAll("Bulls", newHashSet("Michael Jordan", "Scottie Pippen")); // assertion will pass as other is a subset of actual. assertThat(actual).containsAllEntriesOf(other); // this assertion FAILS as other does not contain "Spurs -> "Manu Ginobili" and "Bulls" -> "Derrick Rose" assertThat(other).containsAllEntriesOf(actual);
- Parameters:
other
-Multimap
to compare actual's entries with.- Returns:
- this
MultimapAssert
for assertions chaining. - Throws:
AssertionError
- if the actualMultimap
isnull
.IllegalArgumentException
- if the otherMultimap
isnull
.AssertionError
- if actualMultimap
does not have contain all the givenMultimap
entries.
-
-