Class AbstractMapAssert<SELF extends AbstractMapAssert<SELF,ACTUAL,K,V>,ACTUAL extends Map<K,V>,K,V>
- Type Parameters:
SELF- the "self" type of this assertion class. Please read "Emulating 'self types' using Java Generics to simplify fluent API implementation" for more details.ACTUAL- the type of the "actual" value.K- the type of keys in the map.V- the type of values in the map.
- All Implemented Interfaces:
Assert<SELF,,ACTUAL> Descriptable<SELF>,EnumerableAssert<SELF,,Map.Entry<? extends K, ? extends V>> ExtensionPoints<SELF,ACTUAL>
- Direct Known Subclasses:
MapAssert
Maps.- Author:
- David DIDIER, Yvonne Wang, Alex Ruiz, Mikhail Mazursky, Nicolas François, dorzey, Filip Hrisafov
-
Field Summary
Fields inherited from class org.assertj.core.api.AbstractAssert
actual, info, myself, objects, throwUnsupportedExceptionOnEquals -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionallSatisfy(BiConsumer<? super K, ? super V> entryRequirements) Verifies that all the actual map entries satisfy the givenentryRequirements.anySatisfy(BiConsumer<? super K, ? super V> entryRequirements) Verifies that at least one map entry satisfies the givenentryRequirements.Sets the description of the assertion that is going to be called after.as(Description description) Sets the description of the assertion that is going to be called after.final SELFVerifies that the actual map contains the given entries, in any order.containsAllEntriesOf(Map<? extends K, ? extends V> other) Verifies that the actual map contains all entries of the given map, in any order.final SELFcontainsAnyOf(Map.Entry<? extends K, ? extends V>... entries) Verifies that the actual map contains at least one of the given entries.protected SELFcontainsAnyOfForProxy(Map.Entry<? extends K, ? extends V>[] entries) containsEntry(K key, V value) Verifies that the actual map contains the given entry.final SELFcontainsExactly(Map.Entry<? extends K, ? extends V>... entries) Verifies that the actual map contains only the given entries and nothing else, in order.
This assertion should only be used with maps that have a consistent iteration order (i.e.containsExactlyEntriesOf(Map<? extends K, ? extends V> map) Same ascontainsExactly(Map.Entry[])but handles the conversion ofMap.entrySet()to array.protected SELFcontainsExactlyForProxy(Map.Entry<? extends K, ? extends V>[] entries) containsExactlyInAnyOrderEntriesOf(Map<? extends K, ? extends V> map) Same ascontainsOnly(Map.Entry[])but handles the conversion ofMap.entrySet()to array.protected SELFcontainsForProxy(Map.Entry<? extends K, ? extends V>[] entries) containsKey(K key) Verifies that the actual map contains the given key.final SELFcontainsKeys(K... keys) Verifies that the actual map contains the given keys.protected SELFcontainsKeysForProxy(K[] keys) final SELFcontainsOnly(Map.Entry<? extends K, ? extends V>... entries) Verifies that the actual map contains only the given entries and nothing else, in any order.protected SELFcontainsOnlyForProxy(Map.Entry<? extends K, ? extends V>[] entries) containsOnlyKeys(Iterable<? extends K> keys) Verifies that the actual map contains only the given keys and nothing else, in any order.final SELFcontainsOnlyKeys(K... keys) Verifies that the actual map contains only the given keys and nothing else, in any order.protected SELFcontainsOnlyKeysForProxy(K[] keys) containsValue(V value) Verifies that the actual map contains the given value.final SELFcontainsValues(V... values) Verifies that the actual map contains the given values.protected SELFcontainsValuesForProxy(V[] values) describedAs(String description, Object... args) Sets the description of the assertion that is going to be called after.describedAs(Description description) Sets the description of the assertion that is going to be called after.final SELFdoesNotContain(Map.Entry<? extends K, ? extends V>... entries) Verifies that the actual map does not contain the given entries.doesNotContainEntry(K key, V value) Verifies that the actual map does not contain the given entry.protected SELFdoesNotContainForProxy(Map.Entry<? extends K, ? extends V>[] entries) doesNotContainKey(K key) Verifies that the actual map does not contain the given key.final SELFdoesNotContainKeys(K... keys) Verifies that the actual map does not contain any of the given keys.protected SELFdoesNotContainKeysForProxy(K[] keys) doesNotContainValue(V value) Verifies that the actual map does not contain the given value.doesNotHave(Condition<? super ACTUAL> condition) Verifies that the actual value does not satisfy the given condition.doesNotHaveSameClassAs(Object other) Verifies that the actual value does not have the same class as the given object.AbstractObjectAssert<?, ?> extracting(Object key) Deprecated.extracting(Object... keys) Deprecated.useextractingByKeys(Object[])insteadextractingByKey(K key) Extract the value of given key from the map under test, the extracted value becoming the new object under test.<ASSERT extends AbstractAssert<?,?>>
ASSERTextractingByKey(K key, InstanceOfAssertFactory<?, ASSERT> assertFactory) Extract the value of given key from the map under test, the extracted value becoming the new object under test.final AbstractListAssert<?, List<? extends V>, V, ObjectAssert<V>> extractingByKeys(K... keys) Extract the values of given keys from the map under test into an array, this new array becoming the object under test.protected AbstractListAssert<?, List<? extends V>, V, ObjectAssert<V>> extractingByKeysForProxy(K[] keys) final AbstractListAssert<?, List<? extends Tuple>, Tuple, ObjectAssert<Tuple>> protected AbstractListAssert<?, List<? extends Tuple>, Tuple, ObjectAssert<Tuple>> flatExtracting(String... keys) Flatten the values of the given keys from the actual map under test into a new array, this new array becoming the object under test.Verifies that the actual value satisfies the given condition.hasEntrySatisfying(K key, Consumer<? super V> valueRequirements) Verifies that the actual map contains the value for givenkeythat satisfy givenvalueRequirements.hasEntrySatisfying(K key, Condition<? super V> valueCondition) Verifies that the actual map contains a value for the givenkeythat satisfies the givenvalueCondition.hasEntrySatisfying(Condition<? super Map.Entry<K, V>> entryCondition) Verifies that the actual map contains an entry satisfying the givenentryCondition.hasEntrySatisfying(Condition<? super K> keyCondition, Condition<? super V> valueCondition) Verifies that the actual map contains an entry with a key satisfying the givenkeyConditionand a value satisfying the givenvalueCondition.hasKeySatisfying(Condition<? super K> keyCondition) Verifies that the actual map contains an entry with a key satisfying the givenkeyCondition.hasSameClassAs(Object other) Verifies that the actual value has the same class as the given object.hasSameSizeAs(Iterable<?> other) Verifies that the actual map has the same size as the givenIterable.hasSameSizeAs(Object other) Verifies that the actual map has the same size as the given array.hasSameSizeAs(Map<?, ?> other) Verifies that the actual map has the same size as the givenMap.hasSize(int expected) Verifies that the number of values in theMapis equal to the given one.hasSizeBetween(int lowerBoundary, int higherBoundary) Verifies that the number of values in theMapis between the given boundaries (inclusive).hasSizeGreaterThan(int boundary) Verifies that the number of values in theMapis greater than the boundary.hasSizeGreaterThanOrEqualTo(int boundary) Verifies that the number of values in theMapis greater than or equal to the boundary.hasSizeLessThan(int boundary) Verifies that the number of values in theMapis less than the boundary.hasSizeLessThanOrEqualTo(int boundary) Verifies that the number of values in theMapis less than or equal to the boundary.hasToString(String expectedToString) Verifies that actualactual.toString()is equal to the givenString.hasValueSatisfying(Condition<? super V> valueCondition) Verifies that the actual map contains an entry with a value satisfying the givenvalueCondition.Verifies that the actual value satisfies the given condition.voidisEmpty()Verifies that theMapis empty.Verifies that the actual value is equal to the given one.isExactlyInstanceOf(Class<?> type) Verifies that the actual value is exactly an instance of the given type.Verifies that the actual value is present in the given iterable.Verifies that the actual value is present in the given array of values.isInstanceOf(Class<?> type) Verifies that the actual value is an instance of the given type.isInstanceOfAny(Class<?>... types) Verifies that the actual value is an instance of any of the given types.Verifies that the actual value does not satisfy the given condition.Verifies that theMapis not empty.isNotEqualTo(Object other) Verifies that the actual value is not equal to the given one.isNotExactlyInstanceOf(Class<?> type) Verifies that the actual value is not exactly an instance of given type.Verifies that the actual value is not present in the given iterable.Verifies that the actual value is not present in the given array of values.isNotInstanceOf(Class<?> type) Verifies that the actual value is not an instance of the given type.isNotInstanceOfAny(Class<?>... types) Verifies that the actual value is not an instance of any of the given types.Verifies that the actual value is notnull.isNotOfAnyClassIn(Class<?>... types) Verifies that the actual value type is not in given types.isNotSameAs(Object other) Verifies that the actual value is not the same as the given one, i.e., using == comparison.voidVerifies that theMapisnullor empty.isOfAnyClassIn(Class<?>... types) Verifies that the actual value type is in given types.Verifies that the actual value is the same as the given one, i.e., using == comparison.Verifies that the actual map is unmodifiable, i.e.noneSatisfy(BiConsumer<? super K, ? super V> entryRequirements) Verifies that no map entry satisfies the givenentryRequirements.overridingErrorMessage(String newErrorMessage, Object... args) Overrides AssertJ default error message by the given one.size()Returns anAssertobject that allows performing assertions on the size of theMapunder test.usingComparator(Comparator<? super ACTUAL> customComparator) Use the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.usingComparator(Comparator<? super ACTUAL> customComparator, String customComparatorDescription) Use the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.Revert to standard comparison for the incoming assertion checks.Deprecated.Custom element Comparator is not supported for MapEntry comparison.usingElementComparator(Comparator<? super Map.Entry<? extends K, ? extends V>> customComparator) Deprecated.Custom element Comparator is not supported for MapEntry comparison.Asserts that the given predicate is met for all fields of the object under test recursively (but not the object itself).usingRecursiveAssertion(RecursiveAssertionConfiguration recursiveAssertionConfiguration) The same asusingRecursiveAssertion(), but this method allows the developer to pass in an explicit recursion configuration.Enable using a recursive field by field comparison strategy when calling the chainedRecursiveComparisonAssert,usingRecursiveComparison(RecursiveComparisonConfiguration recursiveComparisonConfiguration) Same asusingRecursiveComparison()but allows to specify your ownRecursiveComparisonConfiguration.AbstractCollectionAssert<?, Collection<? extends V>, V, ObjectAssert<V>> values()Returns anAbstractCollectionAssertto make assertions on the values of the mapwithFailMessage(String newErrorMessage, Object... args) Alternative method forAbstractAssert.overridingErrorMessage(java.lang.String, java.lang.Object...)In case of an assertion error, a thread dump will be printed toSystem.err.Methods inherited from class org.assertj.core.api.AbstractObjectAssert
doesNotReturn, extracting, extracting, extracting, extracting, extracting, extracting, extractingForProxy, getComparatorsByType, hasAllNullFieldsOrProperties, hasAllNullFieldsOrPropertiesExcept, hasFieldOrProperty, hasFieldOrPropertyWithValue, hasNoNullFieldsOrProperties, hasNoNullFieldsOrPropertiesExcept, hasOnlyFields, isEqualToComparingFieldByField, isEqualToComparingFieldByFieldRecursively, isEqualToComparingOnlyGivenFields, isEqualToIgnoringGivenFields, isEqualToIgnoringNullFields, newObjectAssert, returns, usingComparatorForFields, usingComparatorForTypeMethods inherited from class org.assertj.core.api.AbstractAssert
actual, areEqual, asInstanceOf, asList, assertionError, asString, descriptionText, doesNotHaveSameHashCodeAs, doesNotHaveToString, doesNotHaveToString, doesNotMatch, doesNotMatch, equals, extracting, extracting, failure, failureWithActualExpected, failWithActualExpectedAndMessage, failWithMessage, getWritableAssertionInfo, hashCode, hasSameHashCodeAs, hasToString, inBinary, inHexadecimal, isElementOfCustomAssert, isInstanceOfSatisfying, isNull, matches, matches, newListAssertInstance, overridingErrorMessage, satisfies, satisfies, satisfies, satisfiesAnyOf, satisfiesAnyOf, satisfiesAnyOfForProxy, satisfiesForProxy, setCustomRepresentation, setDescriptionConsumer, setPrintAssertionsDescription, throwAssertionError, usingEquals, usingEquals, withFailMessage, withRepresentationMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.assertj.core.api.Descriptable
as, describedAs
-
Constructor Details
-
AbstractMapAssert
-
-
Method Details
-
allSatisfy
Verifies that all the actual map entries satisfy the givenentryRequirements.Example:
Map<TolkienCharacter, Ring> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(galadriel, nenya); elvesRingBearers.put(gandalf, narya); elvesRingBearers.put(elrond, vilya); // this assertion succeeds: assertThat(elvesRingBearers).allSatisfy((character, ring) -> { assertThat(character.getRace()).isIn(ELF, MAIA); assertThat(ring).isIn(nenya, narya, vilya); }); // this assertion fails as Gandalf is a maia and not an elf: assertThat(elvesRingBearers).allSatisfy((character, ring) -> { assertThat(character.getRace()).isEqualTo(ELF); assertThat(ring).isIn(nenya, narya, vilya); });If the actual map is empty, this assertion succeeds as there is nothing to check.
- Parameters:
entryRequirements- the given requirements that each entry must satisfy.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given entryRequirementsBiConsumerisnull.AssertionError- if the actual map isnull.AssertionError- if one or more entries don't satisfy the given requirements.- Since:
- 3.9.0
-
anySatisfy
Verifies that at least one map entry satisfies the givenentryRequirements.Example:
Map<TolkienCharacter, Ring> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(galadriel, nenya); elvesRingBearers.put(gandalf, narya); elvesRingBearers.put(elrond, vilya); // this assertion succeeds as gandalf is a maia wearing narya: assertThat(elvesRingBearers).anySatisfy((character, ring) -> { assertThat(character.getRace()).isEqualTo(MAIA); assertThat(ring).isEqualTo(narya); }); // this assertion fails, gandalf is a maia but he does not wear the One Ring: assertThat(elvesRingBearers).anySatisfy((character, ring) -> { assertThat(character.getRace()).isIn(MAIA, HOBBIT); assertThat(ring).isEqualTo(oneRing); });- Parameters:
entryRequirements- the given requirements that at least one entry must satisfy.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given entryRequirementsBiConsumerisnull.AssertionError- if the actual map isnull.AssertionError- if no entries satisfy the given requirements.- Since:
- 3.12.0
-
noneSatisfy
Verifies that no map entry satisfies the givenentryRequirements.Example:
Map<TolkienCharacter, Ring> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(galadriel, nenya); elvesRingBearers.put(gandalf, narya); elvesRingBearers.put(elrond, vilya); // this assertion succeeds: assertThat(elvesRingBearers).noneSatisfy((character, ring) -> { assertThat(character.getRace()).isIn(HOBBIT, DWARF);M assertThat(ring).isIn(nenya, narya, vilya); }); // this assertion fails as Gandalf is a maia. assertThat(elvesRingBearers).noneSatisfy((character, ring) -> { assertThat(character.getRace()).isEqualTo(MAIA); assertThat(ring).isIn(nenya, narya, vilya); });If the actual map is empty, this assertion succeeds as there is nothing to check.
- Parameters:
entryRequirements- the given requirements that each entry must not satisfy.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given entryRequirementsBiConsumerisnull.AssertionError- if the actual map isnull.AssertionError- if one or more entries satisfies the given requirements.- Since:
- 3.12.0
-
isNullOrEmpty
public void isNullOrEmpty()Verifies that theMapisnullor empty.Example:
// assertions will pass Map<Integer, String> map = null; assertThat(map).isNullOrEmpty(); assertThat(new HashMap()).isNullOrEmpty(); // assertion will fail Map<String, String> keyToValue = new HashMap(); keyToValue.put("key", "value"); assertThat(keyToValue).isNullOrEmpty()- Specified by:
isNullOrEmptyin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Throws:
AssertionError- if theMapis notnullor not empty.
-
isEmpty
public void isEmpty()Verifies that theMapis empty.Example:
// assertion will pass assertThat(new HashMap()).isEmpty(); // assertion will fail Map<String, String> map = new HashMap(); map.put("key", "value"); assertThat(map).isEmpty();- Specified by:
isEmptyin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Throws:
AssertionError- if theMapof values is not empty.
-
isNotEmpty
Verifies that theMapis not empty.Example:
Map<String, String> map = new HashMap(); map.put("key", "value"); // assertion will pass assertThat(map).isNotEmpty(); // assertion will fail assertThat(new HashMap()).isNotEmpty();- Specified by:
isNotEmptyin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Returns:
thisassertion object.- Throws:
AssertionError- if theMapis empty.
-
hasSize
Verifies that the number of values in theMapis equal to the given one.Example:
Map<String, String> map = new HashMap(); map.put("key", "value"); // assertion will pass assertThat(map).hasSize(1); // assertions will fail assertThat(map).hasSize(0); assertThat(map).hasSize(2);- Specified by:
hasSizein interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
expected- the expected number of values in theMap.- Returns:
thisassertion object.- Throws:
AssertionError- if the number of values of theMapis not equal to the given one.
-
hasSizeGreaterThan
Verifies that the number of values in theMapis greater than the boundary.Example:
Map<String, String> map = new HashMap(); map.put("key", "value"); map.put("key2", "value2"); // assertion will pass assertThat(map).hasSizeGreaterThan(1); // assertions will fail assertThat(map).hasSizeGreaterThan(3);- Specified by:
hasSizeGreaterThanin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
boundary- the given value to compare the size ofactualto.- Returns:
thisassertion object.- Throws:
AssertionError- if the number of values of theMapis not greater than the boundary.- Since:
- 3.12.0
-
hasSizeGreaterThanOrEqualTo
Verifies that the number of values in theMapis greater than or equal to the boundary.Example:
Map<String, String> map = new HashMap(); map.put("key", "value"); map.put("key2", "value2"); // assertions will pass assertThat(map).hasSizeGreaterThanOrEqualTo(1) .hasSizeGreaterThanOrEqualTo(2); // assertions will fail assertThat(map).hasSizeGreaterThanOrEqualTo(3); assertThat(map).hasSizeGreaterThanOrEqualTo(5);- Specified by:
hasSizeGreaterThanOrEqualToin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
boundary- the given value to compare the size ofactualto.- Returns:
thisassertion object.- Throws:
AssertionError- if the number of values of theMapis not greater than or equal to the boundary.- Since:
- 3.12.0
-
hasSizeLessThan
Verifies that the number of values in theMapis less than the boundary.Example:
Map<String, String> map = new HashMap(); map.put("key", "value"); map.put("key2", "value2"); // assertion will pass assertThat(map).hasSizeLessThan(3); // assertions will fail assertThat(map).hasSizeLessThan(1); assertThat(map).hasSizeLessThan(2);- Specified by:
hasSizeLessThanin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
boundary- the given value to compare the size ofactualto.- Returns:
thisassertion object.- Throws:
AssertionError- if the number of values of theMapis not less than the boundary.- Since:
- 3.12.0
-
hasSizeLessThanOrEqualTo
Verifies that the number of values in theMapis less than or equal to the boundary.Example:
Map<String, String> map = new HashMap(); map.put("key", "value"); map.put("key2", "value2"); // assertions will pass assertThat(map).hasSizeLessThanOrEqualTo(2) .hasSizeLessThanOrEqualTo(3); // assertions will fail assertThat(map).hasSizeLessThanOrEqualTo(0); assertThat(map).hasSizeLessThanOrEqualTo(1);- Specified by:
hasSizeLessThanOrEqualToin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
boundary- the given value to compare the size ofactualto.- Returns:
thisassertion object.- Throws:
AssertionError- if the number of values of theMapis not less than the boundary.- Since:
- 3.12.0
-
hasSizeBetween
Verifies that the number of values in theMapis between the given boundaries (inclusive).Example:
Map<String, String> map = new HashMap(); map.put("key", "value"); map.put("key2", "value2"); // assertions will pass assertThat(map).hasSizeBetween(1, 3) .hasSizeBetween(2, 2); // assertions will fail assertThat(map).hasSizeBetween(3, 4);- Specified by:
hasSizeBetweenin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
lowerBoundary- the lower boundary compared to which actual size should be greater than or equal to.higherBoundary- the higher boundary compared to which actual size should be less than or equal to.- Returns:
thisassertion object.- Throws:
AssertionError- if the number of values of theMapis not between the boundaries.- Since:
- 3.12.0
-
hasSameSizeAs
Verifies that the actual map has the same size as the given array.Parameter is declared as Object to accept both Object[] and primitive arrays (e.g. int[]).
Example:
int[] oneTwoThree = {1, 2, 3}; Map<Ring, TolkienCharacter> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(nenya, galadriel); elvesRingBearers.put(narya, gandalf); elvesRingBearers.put(vilya, elrond); // assertion will pass assertThat(elvesRingBearers).hasSameSizeAs(oneTwoThree); // assertions will fail assertThat(elvesRingBearers).hasSameSizeAs(new int[] {1}); assertThat(keyToValue).hasSameSizeAs(new char[] {'a', 'b', 'c', 'd'});- Specified by:
hasSameSizeAsin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
other- the array to compare size with actual group.- Returns:
thisassertion object.- Throws:
AssertionError- if the actual group isnull.AssertionError- if the array parameter isnullor is not a true array.AssertionError- if actual group and given array don't have the same size.
-
hasSameSizeAs
Verifies that the actual map has the same size as the givenIterable.Examples:
Map<Ring, TolkienCharacter> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(nenya, galadriel); elvesRingBearers.put(narya, gandalf); elvesRingBearers.put(vilya, elrond); // assertion will pass assertThat(elvesRingBearers).hasSameSizeAs(Array.asList(vilya, nenya, narya)); // assertions will fail assertThat(elvesRingBearers).hasSameSizeAs(Array.asList(1)); assertThat(keyToValue).hasSameSizeAs(Array.asList('a', 'b', 'c', 'd'));- Specified by:
hasSameSizeAsin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
other- theIterableto compare size with actual group.- Returns:
thisassertion object.- Throws:
AssertionError- if the actual map isnull.AssertionError- if the otherIterableisnull.AssertionError- if the actual map and the givenIterabledon't have the same size
-
hasSameSizeAs
Verifies that the actual map has the same size as the givenMap.Examples:
import static com.google.common.collect.ImmutableMap.of; Map<Ring, TolkienCharacter> ringBearers = ImmutableMap.of(nenya, galadriel, narya, gandalf, vilya, elrond, oneRing, frodo); // assertion succeeds: assertThat(ringBearers).hasSameSizeAs(ImmutableMap.of(oneRing, frodo, narya, gandalf, nenya, galadriel, vilya, elrond)); // assertions fails: assertThat(ringBearers).hasSameSizeAs(Collections.emptyMap()); assertThat(ringBearers).hasSameSizeAs(ImmutableMap.of(nenya, galadriel, narya, gandalf, vilya, elrond));- Parameters:
other- theMapto compare size with actual map- Returns:
thisassertion object- Throws:
NullPointerException- if the otherMapisnullAssertionError- if the actual map isnullAssertionError- if the actual map and the givenMapdon't have the same size
-
contains
Verifies that the actual map contains the given entries, in any order.This assertion succeeds if both actual map and given entries are empty.
Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertions will pass assertThat(ringBearers).contains(entry(oneRing, frodo), entry(nenya, galadriel)); assertThat(emptyMap).contains(); // assertions will fail assertThat(ringBearers).contains(entry(oneRing, sauron)); assertThat(ringBearers).contains(entry(oneRing, sauron), entry(oneRing, aragorn)); assertThat(ringBearers).contains(entry(narya, gandalf), entry(oneRing, sauron));- Parameters:
entries- the given entries.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given argument isnull.NullPointerException- if any of the entries in the given array isnull.AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given entries.
-
containsForProxy
-
containsAnyOf
Verifies that the actual map contains at least one of the given entries.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertions will pass assertThat(ringBearers).containsAnyOf(entry(oneRing, frodo), entry(oneRing, sauron)); assertThat(emptyMap).containsAnyOf(); // assertion will fail assertThat(ringBearers).containsAnyOf(entry(oneRing, gandalf), entry(oneRing, aragorn));- Parameters:
entries- the given entries.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given argument isnull.IllegalArgumentException- if the given argument is an empty array.NullPointerException- if any of the entries in the given array isnull.AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain any of the given entries.- Since:
- 3.6.0
-
containsAnyOfForProxy
-
containsAllEntriesOf
Verifies that the actual map contains all entries of the given map, in any order.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); Map<Ring, TolkienCharacter> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(nenya, galadriel); elvesRingBearers.put(narya, gandalf); elvesRingBearers.put(vilya, elrond); // assertions succeed assertThat(ringBearers).containsAllEntriesOf(elvesRingBearers); assertThat(ringBearers).containsAllEntriesOf(emptyMap); // assertion fails assertThat(elvesRingBearers).containsAllEntriesOf(ringBearers);- Parameters:
other- the map with the given entries.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given argument isnull.NullPointerException- if any of the entries in the given map isnull.AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given entries.
-
containsExactlyEntriesOf
Same ascontainsExactly(Map.Entry[])but handles the conversion ofMap.entrySet()to array.Verifies that the actual map contains only the entries of the given map and nothing else, in order.
This assertion should only be used with maps that have a consistent iteration order (i.e. don't use it withHashMap, prefercontainsExactlyInAnyOrderEntriesOf(java.util.Map)in that case).Examples:
// newLinkedHashMap builds a Map with iteration order corresponding to the insertion order Map<Ring, TolkienCharacter> ringBearers = newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf)); // assertion will pass assertThat(ringBearers).containsExactlyEntriesOf(newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf))); // assertion will fail as actual and expected order differ assertThat(ringBearers).containsExactlyEntriesOf(newLinkedHashMap(entry(nenya, galadriel), entry(narya, gandalf), entry(oneRing, frodo))); // assertion will fail as actual and expected have different sizes assertThat(ringBearers).containsExactlyEntriesOf(newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf), entry(narya, gandalf)));- Parameters:
map- the givenMapwith the expected entries to be found in actual.- Returns:
thisassertions object- Throws:
NullPointerException- if the given map isnull.AssertionError- if the actual map isnull.IllegalArgumentException- if the given map is empty.AssertionError- if the actual map does not contain the entries of the given map with same order, i.e. the actual map contains some or none of the entries of the given map, or the actual map contains more entries than the entries of the given map or entries are the same but the order is not.- Since:
- 3.12.0
-
containsExactlyInAnyOrderEntriesOf
Same ascontainsOnly(Map.Entry[])but handles the conversion ofMap.entrySet()to array.Verifies that the actual map contains only the given entries and nothing else, in any order.
Examples:
// newLinkedHashMap builds a Map with iteration order corresponding to the insertion order Map<Ring, TolkienCharacter> ringBearers = newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf)); // assertion will pass assertThat(ringBearers).containsExactlyInAnyOrderEntriesOf(newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf))); // assertion will pass although actual and expected order differ assertThat(ringBearers).containsExactlyInAnyOrderEntriesOf(newLinkedHashMap(entry(nenya, galadriel), entry(narya, gandalf), entry(oneRing, frodo))); // assertion will fail as actual does not contain all expected entries assertThat(ringBearers).containsExactlyInAnyOrderEntriesOf(newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(vilya, elrond))); // assertion will fail as actual and expected have different sizes assertThat(ringBearers).containsExactlyInAnyOrderEntriesOf(newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf), entry(narya, gandalf)));- Parameters:
map- the givenMapwith the expected entries to be found in actual.- Returns:
thisassertions object- Throws:
NullPointerException- if the given map isnull.AssertionError- if the actual map isnull.IllegalArgumentException- if the given map is empty.AssertionError- if the actual map does not contain the entries of the given map, i.e. the actual map contains some or none of the entries of the given map, or the actual map contains more entries than the entries of the given map.- Since:
- 3.13.0
-
containsEntry
Verifies that the actual map contains the given entry.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertions will pass assertThat(ringBearers).containsEntry(oneRing, frodo).containsEntry(nenya, galadriel); // assertion will fail assertThat(ringBearers).containsEntry(oneRing, sauron);- Parameters:
key- the given key to check.value- the given value to check.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given argument isnull.IllegalArgumentException- if the given argument is an empty array.NullPointerException- if any of the entries in the given array isnull.AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given entries.
-
hasEntrySatisfying
Verifies that the actual map contains a value for the givenkeythat satisfies the givenvalueCondition.Example:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); Condition<TolkienCharacter> elfBearer = new Condition<>("an elf bearer") { public boolean matches(TolkienCharacter character) { return character.getRace() == ELF; } }; // this assertion will pass assertThat(ringBearers).hasEntrySatisfying(nenya, elfBearer); // this assertion will fail assertThat(ringBearers).hasEntrySatisfying(oneRing, elfBearer);- Parameters:
key- the given key to check.valueCondition- the given condition for check value.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given values isnull.AssertionError- if the actual map isnull.AssertionError- if the actual map not contains the givenkey.AssertionError- if the actual map contains the given key, but value not match the givenvalueCondition.- Since:
- 2.6.0 / 3.6.0
-
hasEntrySatisfying
Verifies that the actual map contains the value for givenkeythat satisfy givenvalueRequirements.Example:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // this assertion will pass assertThat(ringBearers).hasEntrySatisfying(nenya, character -> { assertThat(character.getName()).contains("driel"); assertThat(character.getRace()).isEqualTo(ELF); }); // this assertion will fail assertThat(ringBearers).hasEntrySatisfying(oneRing, character -> { assertThat(character.getRace()).isEqualTo(ELF); });- Parameters:
key- the given key to check.valueRequirements- the given requirements for check value.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given values isnull.AssertionError- if the actual map isnull.AssertionError- if the actual map not contains the givenkey.AssertionError- if the actual map contains the given key, but value not pass the givenvalueRequirements.- Since:
- 3.6.0
-
hasEntrySatisfying
Verifies that the actual map contains an entry satisfying the givenentryCondition.Example:
Map<TolkienCharacter, Ring> ringBearers = new HashMap<>(); ringBearers.put(galadriel, nenya); ringBearers.put(gandalf, narya); ringBearers.put(elrond, vilya); ringBearers.put(frodo, oneRing); Condition<Map.Entry<TolkienCharacter, Ring>> oneRingManBearer = new Condition<Map.Entry<TolkienCharacter, Ring>>("One ring man bearer") { public boolean matches(Map.Entry<TolkienCharacter, Ring> entry) { return entry.getKey().getRace() == MAN && entry.getValue() == oneRing; } }; // assertion will fail assertThat(ringBearers).hasEntrySatisfying(oneRingManBearer); ringBearers.put(isildur, oneRing); // now assertion will pass assertThat(ringBearers).hasEntrySatisfying(oneRingManBearer);- Parameters:
entryCondition- the condition for searching entry.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given condition isnull.AssertionError- if the actual map isnull.AssertionError- if there is no entry matching givenentryCondition.- Since:
- 2.7.0 / 3.7.0
-
hasEntrySatisfying
public SELF hasEntrySatisfying(Condition<? super K> keyCondition, Condition<? super V> valueCondition) Verifies that the actual map contains an entry with a key satisfying the givenkeyConditionand a value satisfying the givenvalueCondition.Example:
Map<TolkienCharacter, Ring> ringBearers = new HashMap<>(); ringBearers.put(galadriel, nenya); ringBearers.put(gandalf, narya); ringBearers.put(elrond, vilya); ringBearers.put(frodo, oneRing); Condition<TolkienCharacter> isMan = new Condition<TolkienCharacter>("is man") { public boolean matches(TolkienCharacter tolkienCharacter) { return tolkienCharacter.getRace() == MAN; } }; Condition<Ring> oneRingBearer = new Condition<Ring>("One ring bearer") { public boolean matches(Ring ring) { return ring == oneRing; } }; // assertion will fail assertThat(ringBearers).hasEntrySatisfying(isMan, oneRingBearer); ringBearers.put(isildur, oneRing); // now assertion will pass assertThat(ringBearers).hasEntrySatisfying(isMan, oneRingBearer);- Parameters:
keyCondition- the condition to be matched by the entry's key.valueCondition- the condition to be matched by the entry's value.- Returns:
thisassertion object.- Throws:
NullPointerException- if any of the given conditions isnull.AssertionError- if the actual map isnull.AssertionError- if there is no entry with a key matchingkeyConditionand a value matchingvalueCondition.- Since:
- 2.7.0 / 3.7.0
-
hasKeySatisfying
Verifies that the actual map contains an entry with a key satisfying the givenkeyCondition.Example:
Map<TolkienCharacter, Ring> ringBearers = new HashMap<>(); ringBearers.put(galadriel, nenya); ringBearers.put(gandalf, narya); ringBearers.put(elrond, vilya); ringBearers.put(frodo, oneRing); Condition<TolkienCharacter> isElf = new Condition<TolkienCharacter>("is elf") { public boolean matches(TolkienCharacter tolkienCharacter) { return tolkienCharacter.getRace() == ELF; } }; Condition<TolkienCharacter> isOrc = new Condition<TolkienCharacter>("is orc") { public boolean matches(TolkienCharacter tolkienCharacter) { return tolkienCharacter.getRace() == ORC; } }; // assertion will pass assertThat(ringBearers).hasKeySatisfying(isElf); // assertion will fail assertThat(ringBearers).hasKeySatisfying(isOrc);- Parameters:
keyCondition- the condition to be matched by the entry's key.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given condition isnull.AssertionError- if the actual map isnull.AssertionError- if there is no key matching the givenkeyCondition.- Since:
- 2.7.0 / 3.7.0
-
hasValueSatisfying
Verifies that the actual map contains an entry with a value satisfying the givenvalueCondition.Example:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); Condition<TolkienCharacter> isElf = new Condition<TolkienCharacter>("is elf") { public boolean matches(TolkienCharacter tolkienCharacter) { return tolkienCharacter.getRace() == ELF; } }; Condition<TolkienCharacter> isOrc = new Condition<TolkienCharacter>("is orc") { public boolean matches(TolkienCharacter tolkienCharacter) { return tolkienCharacter.getRace() == ORC; } }; // assertion will pass assertThat(ringBearers).hasValueSatisfying(isElf); // assertion will fail assertThat(ringBearers).hasValueSatisfying(isOrc);- Parameters:
valueCondition- the condition to be matched by the entry's value.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given condition isnull.AssertionError- if the actual map isnull.AssertionError- if there is no value matching the givenvalueCondition.- Since:
- 2.7.0 / 3.7.0
-
doesNotContain
Verifies that the actual map does not contain the given entries.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertion will pass assertThat(ringBearers).doesNotContain(entry(oneRing, aragorn), entry(oneRing, sauron)); // assertions will fail assertThat(ringBearers).doesNotContain(entry(oneRing, frodo)); assertThat(ringBearers).doesNotContain(entry(oneRing, frodo), entry(oneRing, aragorn));- Parameters:
entries- the given entries.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given argument isnull.IllegalArgumentException- if the given argument is an empty array.AssertionError- if the actual map isnull.AssertionError- if the actual map contains any of the given entries.
-
doesNotContainForProxy
-
doesNotContainEntry
Verifies that the actual map does not contain the given entry.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertion will pass assertThat(ringBearers).doesNotContainEntry(oneRing, aragorn); // assertion will fail assertThat(ringBearers).doesNotContain(oneRing, frodo);- Parameters:
key- key of the entry.value- value of the entry.- Returns:
thisassertion object.- Throws:
NullPointerException- if the given argument isnull.IllegalArgumentException- if the given argument is an empty array.AssertionError- if the actual map isnull.AssertionError- if the actual map contains any of the given entries.
-
containsKey
Verifies that the actual map contains the given key.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); // assertion will pass assertThat(ringBearers).containsKey(vilya); // assertion will fail assertThat(ringBearers).containsKey(oneRing);- Parameters:
key- the given key- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given key.
-
containsKeys
Verifies that the actual map contains the given keys.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(oneRing, frodo); // assertions will pass assertThat(ringBearers).containsKeys(nenya, oneRing); // assertions will fail assertThat(ringBearers).containsKeys(vilya); assertThat(ringBearers).containsKeys(vilya, oneRing);- Parameters:
keys- the given keys- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given key.IllegalArgumentException- if the given argument is an empty array.
-
containsKeysForProxy
-
doesNotContainKey
Verifies that the actual map does not contain the given key.Examples:
Map<Ring, TolkienCharacter> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(nenya, galadriel); elvesRingBearers.put(narya, gandalf); elvesRingBearers.put(vilya, elrond); // assertion will pass assertThat(elvesRingBearers).doesNotContainKey(oneRing); // assertion will fail assertThat(elvesRingBearers).doesNotContainKey(vilya);- Parameters:
key- the given key- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map contains the given key.
-
doesNotContainKeys
Verifies that the actual map does not contain any of the given keys.Examples:
Map<Ring, TolkienCharacter> elvesRingBearers = new HashMap<>(); elvesRingBearers.put(nenya, galadriel); elvesRingBearers.put(narya, gandalf); elvesRingBearers.put(vilya, elrond); // assertion will pass assertThat(elvesRingBearers).doesNotContainKeys(oneRing, someManRing); // assertions will fail assertThat(elvesRingBearers).doesNotContainKeys(vilya, nenya); assertThat(elvesRingBearers).doesNotContainKeys(vilya, oneRing);- Parameters:
keys- the given keys- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map contains the given key.
-
doesNotContainKeysForProxy
-
containsOnlyKeys
Verifies that the actual map contains only the given keys and nothing else, in any order.The verification tries to honor the key comparison semantic of the underlying map implementation. The map under test has to be cloned to identify unexpected elements, but depending on the map implementation this may not always be possible. In case it is not possible, a regular map is used and the key comparison strategy may not be the same as the map under test.
Examples :
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertion will pass assertThat(ringBearers).containsOnlyKeys(oneRing, nenya, narya, vilya); // assertion will fail assertThat(ringBearers).containsOnlyKeys(oneRing, nenya);- Parameters:
keys- the given keys that should be in the actual map.- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given keys, i.e. the actual map contains some or none of the given keys, or the actual map contains more entries than the given ones.IllegalArgumentException- if the given argument is an empty array.
-
containsOnlyKeysForProxy
-
containsOnlyKeys
Verifies that the actual map contains only the given keys and nothing else, in any order.The verification tries to honor the key comparison semantic of the underlying map implementation. The map under test has to be cloned to identify unexpected elements, but depending on the map implementation this may not always be possible. In case it is not possible, a regular map is used and the key comparison strategy may not be the same as the map under test.
Examples :
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertion will pass assertThat(ringBearers).containsOnlyKeys(Arrays.asList(oneRing, nenya, narya, vilya)); // assertions will fail assertThat(ringBearers).containsOnlyKeys(Arrays.asList(oneRing, nenya)); assertThat(ringBearers).containsOnlyKeys(Arrays.asList(oneRing, nenya, narya, vilya, nibelungRing));- Parameters:
keys- the given keys that should be in the actual map.- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnullor empty.AssertionError- if the actual map does not contain the given keys, i.e. the actual map contains some or none of the given keys, or the actual map's keys contains keys not in the given ones.IllegalArgumentException- if the given argument is an empty array.- Since:
- 3.12.0
-
containsValue
Verifies that the actual map contains the given value.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertion will pass assertThat(ringBearers).containsValue(frodo); // assertion will fail assertThat(ringBearers).containsValue(sauron);- Parameters:
value- the value to look for.- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given value.
-
containsValues
Verifies that the actual map contains the given values.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertion will pass assertThat(ringBearers).containsValues(frodo, galadriel); // assertions will fail assertThat(ringBearers).containsValues(sauron, aragorn); assertThat(ringBearers).containsValues(sauron, frodo);- Parameters:
values- the values to look for in the actual map.- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map does not contain the given values.
-
containsValuesForProxy
-
doesNotContainValue
Verifies that the actual map does not contain the given value.Examples:
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertion will pass assertThat(ringBearers).doesNotContainValue(aragorn); // assertion will fail assertThat(ringBearers).doesNotContainValue(frodo);- Parameters:
value- the value that should not be in actual map.- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.AssertionError- if the actual map contains the given value.
-
containsOnly
Verifies that the actual map contains only the given entries and nothing else, in any order.The verification tries to honor the key comparison semantic of the underlying map implementation. The map under test has to be cloned to identify unexpected elements, but depending on the map implementation this may not always be possible. In case it is not possible, a regular map is used and the key comparison strategy may not be the same as the map under test.
Examples :
Map<Ring, TolkienCharacter> ringBearers = new HashMap<>(); ringBearers.put(nenya, galadriel); ringBearers.put(narya, gandalf); ringBearers.put(vilya, elrond); ringBearers.put(oneRing, frodo); // assertions will pass assertThat(ringBearers).containsOnly(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf), entry(vilya, elrond)); assertThat(Collections.emptyMap()).containsOnly(); // assertion will fail assertThat(ringBearers).containsOnly(entry(oneRing, frodo), entry(nenya, galadriel));- Parameters:
entries- the entries that should be in the actual map.- Returns:
thisassertions object- Throws:
AssertionError- if the actual map isnull.NullPointerException- if the given argument isnull.IllegalArgumentException- if the given argument is an empty array.AssertionError- if the actual map does not contain the given entries, i.e. the actual map contains some or none of the given entries, or the actual map contains more entries than the given ones.
-
containsOnlyForProxy
-
containsExactly
Verifies that the actual map contains only the given entries and nothing else, in order.
This assertion should only be used with maps that have a consistent iteration order (i.e. don't use it withHashMap, prefercontainsOnly(java.util.Map.Entry...)in that case).Examples:
// newLinkedHashMap builds a Map with iteration order corresponding to the insertion order Map<Ring, TolkienCharacter> ringBearers = newLinkedHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf)); // assertions will pass assertThat(ringBearers).containsExactly(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf)); assertThat(Collections.emptyMap()).containsExactly(); // assertion will fail as actual and expected order differ assertThat(ringBearers).containsExactly(entry(nenya, galadriel), entry(narya, gandalf), entry(oneRing, frodo));- Parameters:
entries- the given entries.- Returns:
thisassertions object- Throws:
NullPointerException- if the given entries array isnull.AssertionError- if the actual map isnull.IllegalArgumentException- if the given entries array is empty.AssertionError- if the actual map does not contain the given entries with same order, i.e. the actual map contains some or none of the given entries, or the actual map contains more entries than the given ones or entries are the same but the order is not.
-
containsExactlyForProxy
-
isUnmodifiable
Verifies that the actual map is unmodifiable, i.e. throws anUnsupportedOperationExceptionwith any attempt to modify the map.Example:
// assertions succeeds assertThat(Collections.unmodifiableMap(new HashMap<>())).isUnmodifiable(); // assertions fails assertThat(new HashMap<>()).isUnmodifiable();- Returns:
thisassertion object.- Throws:
AssertionError- if the actual collection is modifiable.- Since:
- 3.24.0
- See Also:
-
usingElementComparator
@Deprecated public SELF usingElementComparator(Comparator<? super Map.Entry<? extends K, ? extends V>> customComparator) Deprecated.Custom element Comparator is not supported for MapEntry comparison.Do not use this method.- Specified by:
usingElementComparatorin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
customComparator- the comparator to use for incoming assertion checks.- Returns:
thisassertion object.- Throws:
UnsupportedOperationException- if this method is called.
-
usingDefaultElementComparator
Deprecated.Custom element Comparator is not supported for MapEntry comparison.Do not use this method.- Specified by:
usingDefaultElementComparatorin interfaceEnumerableAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Returns:
thisassertion object.- Throws:
UnsupportedOperationException- if this method is called.
-
as
Description copied from interface:DescriptableSets the description of the assertion that is going to be called after.You must set it before calling the assertion otherwise it is ignored as the failing assertion breaks the chained call by throwing an AssertionError.
The description follows
String.format(String, Object...)syntax.Example :
try { // set an incorrect age to Mr Frodo which is really 33 years old. frodo.setAge(50); // specify a test description (call as() before the assertion !), it supports String format syntax. assertThat(frodo.getAge()).as("check %s's age", frodo.getName()).isEqualTo(33); } catch (AssertionError e) { assertThat(e).hasMessage("[check Frodo's age]\n expected: 33\n but was: 50"); }- Specified by:
asin interfaceDescriptable<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>> - Overrides:
asin classAbstractObjectAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
description- the new description to set.args- optional parameter if description is a format String.- Returns:
thisobject.- See Also:
-
as
Description copied from interface:DescriptableSets the description of the assertion that is going to be called after.You must set it before calling the assertion otherwise it is ignored as the failing assertion breaks the chained call by throwing an AssertionError.
This overloaded version of "describedAs" offers more flexibility than the one taking a
Stringby allowing users to pass their own implementation of a description. For example, a description that creates its value lazily, only when an assertion failure occurs.- Specified by:
asin interfaceDescriptable<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>> - Overrides:
asin classAbstractObjectAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
description- the new description to set.- Returns:
thisobject.- See Also:
-
describedAs
Description copied from class:AbstractAssertSets the description of the assertion that is going to be called after.You must set it before calling the assertion otherwise it is ignored as the failing assertion breaks the chained call by throwing an AssertionError.
This overloaded version of "describedAs" offers more flexibility than the one taking a
Stringby allowing users to pass their own implementation of a description. For example, a description that creates its value lazily, only when an assertion failure occurs.- Specified by:
describedAsin interfaceDescriptable<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>> - Overrides:
describedAsin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
description- the new description to set.- Returns:
thisobject.
-
describedAs
Description copied from interface:DescriptableSets the description of the assertion that is going to be called after.You must set it before calling the assertion otherwise it is ignored as the failing assertion breaks the chained call by throwing an AssertionError.
Alias for
since "as" is a keyword in Groovy.Descriptable.as(String, Object...)- Specified by:
describedAsin interfaceDescriptable<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>> - Parameters:
description- the new description to set.args- optional parameter if description is a format String.- Returns:
thisobject.
-
doesNotHave
Description copied from class:AbstractAssertVerifies that the actual value does not satisfy the given condition. This method is an alias for.ExtensionPoints.isNot(Condition)- Specified by:
doesNotHavein interfaceExtensionPoints<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
doesNotHavein classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
condition- the given condition.- Returns:
this ExtensionPointsobject.- See Also:
-
doesNotHaveSameClassAs
Description copied from class:AbstractAssertVerifies that the actual value does not have the same class as the given object.Example:
// assertions succeed assertThat(1).doesNotHaveSameClassAs("abc"); assertThat(new ArrayList<String>()).doesNotHaveSameClassAs(new LinkedList<String>()); // assertions fail assertThat(1).doesNotHaveSameClassAs(2); assertThat("abc").doesNotHaveSameClassAs("123"); assertThat(new ArrayList<String>()).doesNotHaveSameClassAs(new ArrayList<Integer>());- Specified by:
doesNotHaveSameClassAsin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
doesNotHaveSameClassAsin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
other- the object to check type against.- Returns:
- this assertion object.
-
has
Description copied from class:AbstractAssertVerifies that the actual value satisfies the given condition. This method is an alias for.ExtensionPoints.is(Condition)- Specified by:
hasin interfaceExtensionPoints<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
hasin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
condition- the given condition.- Returns:
this ExtensionPointsobject.- See Also:
-
hasSameClassAs
Description copied from class:AbstractAssertVerifies that the actual value has the same class as the given object.Example:
// assertions succeed assertThat(1).hasSameClassAs(2); assertThat("abc").hasSameClassAs("123"); assertThat(new ArrayList<String>()).hasSameClassAs(new ArrayList<Integer>()); // assertions fail assertThat(1).hasSameClassAs("abc"); assertThat(new ArrayList<String>()).hasSameClassAs(new LinkedList<String>());- Specified by:
hasSameClassAsin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
hasSameClassAsin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
other- the object to check type against.- Returns:
- this assertion object.
-
hasToString
Description copied from class:AbstractAssertVerifies that actualactual.toString()is equal to the givenString.Example :
CartoonCharacter homer = new CartoonCharacter("Homer"); // Instead of writing ... assertThat(homer.toString()).isEqualTo("Homer"); // ... you can simply write: assertThat(homer).hasToString("Homer");- Specified by:
hasToStringin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
hasToStringin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
expectedToString- the expected String description of actual.- Returns:
- this assertion object.
-
is
Description copied from class:AbstractAssertVerifies that the actual value satisfies the given condition. This method is an alias for.ExtensionPoints.has(Condition)- Specified by:
isin interfaceExtensionPoints<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
condition- the given condition.- Returns:
this ExtensionPointsobject.- See Also:
-
isEqualTo
Description copied from class:AbstractAssertVerifies that the actual value is equal to the given one.Example:
// assertions succeed assertThat("abc").isEqualTo("abc"); assertThat(new HashMap<String, Integer>()).isEqualTo(new HashMap<String, Integer>()); // assertions fail assertThat("abc").isEqualTo("123"); assertThat(new ArrayList<String>()).isEqualTo(1);- Specified by:
isEqualToin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isEqualToin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
expected- the given value to compare the actual value to.- Returns:
thisassertion object.
-
isExactlyInstanceOf
Description copied from class:AbstractAssertVerifies that the actual value is exactly an instance of the given type.Example:
// assertions succeed assertThat("abc").isExactlyInstanceOf(String.class); assertThat(new ArrayList<String>()).isExactlyInstanceOf(ArrayList.class); assertThat(new HashMap<String, Integer>()).isExactlyInstanceOf(HashMap.class); // assertions fail assertThat(1).isExactlyInstanceOf(String.class); assertThat(new ArrayList<String>()).isExactlyInstanceOf(List.class); assertThat(new HashMap<String, Integer>()).isExactlyInstanceOf(Map.class);- Specified by:
isExactlyInstanceOfin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isExactlyInstanceOfin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
type- the type to check the actual value against.- Returns:
- this assertion object.
-
isIn
Description copied from class:AbstractAssertVerifies that the actual value is present in the given iterable.This assertion always fails if the given iterable is empty.
Example:
Iterable<Ring> elvesRings = list(vilya, nenya, narya); // assertion succeeds assertThat(nenya).isIn(elvesRings); // assertions fail: assertThat(oneRing).isIn(elvesRings); assertThat(oneRing).isIn(emptyList());- Specified by:
isInin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isInin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
values- the given iterable to search the actual value in.- Returns:
thisassertion object.
-
isIn
Description copied from class:AbstractAssertVerifies that the actual value is present in the given array of values.This assertion always fails if the given array of values is empty.
Example:
Ring[] elvesRings = new Ring[] { vilya, nenya, narya }; // assertion succeeds assertThat(nenya).isIn(elvesRings); // assertions fail assertThat(oneRing).isIn(elvesRings); assertThat(oneRing).isIn(new Ring[0]);- Specified by:
isInin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isInin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
values- the given array to search the actual value in.- Returns:
thisassertion object.
-
isInstanceOf
Description copied from class:AbstractAssertVerifies that the actual value is an instance of the given type.Example:
// assertions succeed assertThat("abc").isInstanceOf(String.class); assertThat(new HashMap<String, Integer>()).isInstanceOf(HashMap.class); assertThat(new HashMap<String, Integer>()).isInstanceOf(Map.class); // assertions fail assertThat(1).isInstanceOf(String.class); assertThat(new ArrayList<String>()).isInstanceOf(LinkedList.class);- Specified by:
isInstanceOfin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isInstanceOfin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
type- the type to check the actual value against.- Returns:
- this assertion object.
-
isInstanceOfAny
Description copied from class:AbstractAssertVerifies that the actual value is an instance of any of the given types.Example:
// assertions succeed assertThat("abc").isInstanceOfAny(String.class, Integer.class); assertThat(new ArrayList<String>()).isInstanceOfAny(LinkedList.class, ArrayList.class); assertThat(new HashMap<String, Integer>()).isInstanceOfAny(TreeMap.class, Map.class); // assertions fail assertThat(1).isInstanceOfAny(Double.class, Float.class); assertThat(new ArrayList<String>()).isInstanceOfAny(LinkedList.class, Vector.class);- Specified by:
isInstanceOfAnyin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isInstanceOfAnyin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
types- the types to check the actual value against.- Returns:
- this assertion object.
-
isNot
Description copied from class:AbstractAssertVerifies that the actual value does not satisfy the given condition. This method is an alias for.ExtensionPoints.doesNotHave(Condition)- Specified by:
isNotin interfaceExtensionPoints<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
condition- the given condition.- Returns:
this ExtensionPointsobject.- See Also:
-
isNotEqualTo
Description copied from class:AbstractAssertVerifies that the actual value is not equal to the given one.Example:
// assertions succeed assertThat("abc").isNotEqualTo("123"); assertThat(new ArrayList<String>()).isNotEqualTo(1); // assertions fail assertThat("abc").isNotEqualTo("abc"); assertThat(new HashMap<String, Integer>()).isNotEqualTo(new HashMap<String, Integer>());- Specified by:
isNotEqualToin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotEqualToin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
other- the given value to compare the actual value to.- Returns:
thisassertion object.
-
isNotExactlyInstanceOf
Description copied from class:AbstractAssertVerifies that the actual value is not exactly an instance of given type.Example:
// assertions succeed assertThat(1).isNotExactlyInstanceOf(String.class); assertThat(new ArrayList<String>()).isNotExactlyInstanceOf(List.class); assertThat(new HashMap<String, Integer>()).isNotExactlyInstanceOf(Map.class); // assertions fail assertThat("abc").isNotExactlyInstanceOf(String.class); assertThat(new ArrayList<String>()).isNotExactlyInstanceOf(ArrayList.class); assertThat(new HashMap<String, Integer>()).isNotExactlyInstanceOf(HashMap.class);- Specified by:
isNotExactlyInstanceOfin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotExactlyInstanceOfin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
type- the type to check the actual value against.- Returns:
- this assertion object.
-
isNotIn
Description copied from class:AbstractAssertVerifies that the actual value is not present in the given iterable.This assertion always succeeds if the given iterable is empty.
Example:
Iterable<Ring> elvesRings = list(vilya, nenya, narya); // assertions succeed: assertThat(oneRing).isNotIn(elvesRings); assertThat(oneRing).isNotIn(emptyList()); // assertions fails: assertThat(nenya).isNotIn(elvesRings);- Specified by:
isNotInin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotInin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
values- the given iterable to search the actual value in.- Returns:
thisassertion object.
-
isNotIn
Description copied from class:AbstractAssertVerifies that the actual value is not present in the given array of values.This assertion always succeeds if the given array of values is empty.
Example:
Ring[] elvesRings = new Ring[] { vilya, nenya, narya }; // assertions succeed assertThat(oneRing).isNotIn(elvesRings); assertThat(oneRing).isNotIn(new Ring[0]); // assertions fails: assertThat(nenya).isNotIn(elvesRings);- Specified by:
isNotInin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotInin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
values- the given array to search the actual value in.- Returns:
thisassertion object.
-
isNotInstanceOf
Description copied from class:AbstractAssertVerifies that the actual value is not an instance of the given type.Example:
// assertions succeed assertThat(1).isNotInstanceOf(Double.class); assertThat(new ArrayList<String>()).isNotInstanceOf(LinkedList.class); // assertions fail assertThat("abc").isNotInstanceOf(String.class); assertThat(new HashMap<String, Integer>()).isNotInstanceOf(HashMap.class); assertThat(new HashMap<String, Integer>()).isNotInstanceOf(Map.class);- Specified by:
isNotInstanceOfin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotInstanceOfin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
type- the type to check the actual value against.- Returns:
- this assertion object.
-
isNotInstanceOfAny
Description copied from class:AbstractAssertVerifies that the actual value is not an instance of any of the given types.Example:
// assertions succeed assertThat(1).isNotInstanceOfAny(Double.class, Float.class); assertThat(new ArrayList<String>()).isNotInstanceOfAny(LinkedList.class, Vector.class); // assertions fail assertThat(1).isNotInstanceOfAny(Double.class, Integer.class); assertThat(new ArrayList<String>()).isNotInstanceOfAny(LinkedList.class, ArrayList.class); assertThat(new HashMap<String, Integer>()).isNotInstanceOfAny(TreeMap.class, Map.class);- Specified by:
isNotInstanceOfAnyin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotInstanceOfAnyin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
types- the types to check the actual value against.- Returns:
- this assertion object.
-
isNotOfAnyClassIn
Description copied from class:AbstractAssertVerifies that the actual value type is not in given types.Example:
// assertions succeed assertThat(new HashMap<String, Integer>()).isNotOfAnyClassIn(Map.class, TreeMap.class); assertThat(new ArrayList<String>()).isNotOfAnyClassIn(LinkedList.class, List.class); // assertions fail assertThat(new HashMap<String, Integer>()).isNotOfAnyClassIn(HashMap.class, TreeMap.class); assertThat(new ArrayList<String>()).isNotOfAnyClassIn(ArrayList.class, LinkedList.class);- Specified by:
isNotOfAnyClassInin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotOfAnyClassInin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
types- the types to check the actual value against.- Returns:
- this assertion object.
-
isNotNull
Description copied from class:AbstractAssertVerifies that the actual value is notnull.Example:
// assertions succeed assertThat("abc").isNotNull(); assertThat(new HashMap<String, Integer>()).isNotNull(); // assertions fails String value = null; assertThat(value).isNotNull(); -
isNotSameAs
Description copied from class:AbstractAssertVerifies that the actual value is not the same as the given one, i.e., using == comparison.Example:
// Name is a class with first and last fields, two Names are equals if both first and last are equals. Name tyrion = new Name("Tyrion", "Lannister"); Name alias = tyrion; Name clone = new Name("Tyrion", "Lannister"); // assertions succeed: assertThat(clone).isNotSameAs(tyrion) .isEqualTo(tyrion); // assertion fails: assertThat(alias).isNotSameAs(tyrion);- Specified by:
isNotSameAsin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isNotSameAsin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
other- the given value to compare the actual value to.- Returns:
thisassertion object.
-
isOfAnyClassIn
Description copied from class:AbstractAssertVerifies that the actual value type is in given types.Example:
// assertions succeed assertThat(new HashMap<String, Integer>()).isOfAnyClassIn(HashMap.class, TreeMap.class); assertThat(new ArrayList<String>()).isOfAnyClassIn(ArrayList.class, LinkedList.class); // assertions fail assertThat(new HashMap<String, Integer>()).isOfAnyClassIn(TreeMap.class, Map.class); assertThat(new ArrayList<String>()).isOfAnyClassIn(LinkedList.class, List.class);- Specified by:
isOfAnyClassInin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isOfAnyClassInin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
types- the types to check the actual value against.- Returns:
- this assertion object.
-
isSameAs
Description copied from class:AbstractAssertVerifies that the actual value is the same as the given one, i.e., using == comparison.Example:
// Name is a class with first and last fields, two Names are equals if both first and last are equals. Name tyrion = new Name("Tyrion", "Lannister"); Name alias = tyrion; Name clone = new Name("Tyrion", "Lannister"); // assertions succeed: assertThat(tyrion).isSameAs(alias) .isEqualTo(clone); // assertion fails: assertThat(tyrion).isSameAs(clone);- Specified by:
isSameAsin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
isSameAsin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
expected- the given value to compare the actual value to.- Returns:
thisassertion object.
-
overridingErrorMessage
Description copied from class:AbstractAssertOverrides AssertJ default error message by the given one.You must set it before calling the assertion otherwise it is ignored as the failing assertion breaks the chained call by throwing an AssertionError.
The new error message is built using
String.format(String, Object...)if you provide args parameter (if you don't, the error message is taken as it is).Example:
assertThat(player.isRookie()).overridingErrorMessage("Expecting Player <%s> to be a rookie but was not.", player) .isTrue();- Overrides:
overridingErrorMessagein classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
newErrorMessage- the error message that will replace the default one provided by Assertj.args- the args used to fill error message as inString.format(String, Object...).- Returns:
- this assertion object.
-
usingDefaultComparator
Description copied from class:AbstractAssertRevert to standard comparison for the incoming assertion checks.This method should be used to disable a custom comparison strategy set by calling
usingComparator.- Specified by:
usingDefaultComparatorin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
usingDefaultComparatorin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Returns:
thisassertion object.
-
usingComparator
Description copied from class:AbstractAssertUse the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.The custom comparator is bound to assertion instance, meaning that if a new assertion instance is created, the default comparison strategy will be used.
Examples :
// frodo and sam are instances of Character with Hobbit race (obviously :). // raceComparator implements Comparator<Character> assertThat(frodo).usingComparator(raceComparator).isEqualTo(sam);- Specified by:
usingComparatorin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
usingComparatorin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
customComparator- the comparator to use for the incoming assertion checks.- Returns:
thisassertion object.
-
usingComparator
public SELF usingComparator(Comparator<? super ACTUAL> customComparator, String customComparatorDescription) Description copied from class:AbstractAssertUse the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.The custom comparator is bound to the current assertion chain, meaning that if a new assertion instance is created, the default comparison strategy will be used.
Examples :
// frodo and sam are instances of Character with Hobbit race (obviously :). // raceComparator implements Comparator<Character> assertThat(frodo).usingComparator(raceComparator, "Hobbit Race Comparator").isEqualTo(sam);- Specified by:
usingComparatorin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
usingComparatorin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
customComparator- the comparator to use for the incoming assertion checks.customComparatorDescription- comparator description to be used in assertion error messages- Returns:
thisassertion object.
-
withFailMessage
Description copied from class:AbstractAssertAlternative method forAbstractAssert.overridingErrorMessage(java.lang.String, java.lang.Object...)You must set it before calling the assertion otherwise it is ignored as the failing assertion breaks the chained call by throwing an AssertionError.
Example:
assertThat(player.isRookie()).withFailMessage("Expecting Player <%s> to be a rookie but was not.", player) .isTrue();- Overrides:
withFailMessagein classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
newErrorMessage- the error message that will replace the default one provided by Assertj.args- the args used to fill error message as inString.format(String, Object...).- Returns:
- this assertion object.
-
withThreadDumpOnError
Description copied from class:AbstractAssertIn case of an assertion error, a thread dump will be printed toSystem.err.Example :
assertThat("Messi").withThreadDumpOnError().isEqualTo("Ronaldo");will print a thread dump, something similar to this:
"JDWP Command Reader" java.lang.Thread.State: RUNNABLE "JDWP Event Helper Thread" java.lang.Thread.State: RUNNABLE "JDWP Transport Listener: dt_socket" java.lang.Thread.State: RUNNABLE "Signal Dispatcher" java.lang.Thread.State: RUNNABLE "Finalizer" java.lang.Thread.State: WAITING at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189) "Reference Handler" java.lang.Thread.State: WAITING at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:503) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) "main" java.lang.Thread.State: RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:446) at org.assertj.core.internal.Failures.threadDumpDescription(Failures.java:193) at org.assertj.core.internal.Failures.printThreadDumpIfNeeded(Failures.java:141) at org.assertj.core.internal.Failures.failure(Failures.java:91) at org.assertj.core.internal.Objects.assertEqual(Objects.java:314) at org.assertj.core.api.AbstractAssert.isEqualTo(AbstractAssert.java:198) at org.assertj.examples.ThreadDumpOnErrorExample.main(ThreadDumpOnErrorExample.java:28)- Specified by:
withThreadDumpOnErrorin interfaceAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Overrides:
withThreadDumpOnErrorin classAbstractAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Returns:
- this assertion object.
-
size
Returns anAssertobject that allows performing assertions on the size of theMapunder test.Once this method is called, the object under test is no longer the
Mapbut its size, to perform assertions on theMap, callAbstractMapSizeAssert.returnToMap().Examples:
Map<Ring, TolkienCharacter> ringBearers = newHashMap(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf)); // assertion will pass: assertThat(ringBearers).size().isGreaterThan(1) .isLessThanOrEqualTo(3) returnToMap().contains(entry(oneRing, frodo), entry(nenya, galadriel), entry(narya, gandalf)); // assertion will fail: assertThat(ringBearers).size().isGreaterThan(5);- Returns:
- a
AbstractMapSizeAssertto allow assertions on the number of key-value mappings in this map - Throws:
NullPointerException- if the given map isnull.
-
extracting
@Deprecated public AbstractListAssert<?,List<?>, extractingObject, ObjectAssert<Object>> (Object... keys) Deprecated.useextractingByKeys(Object[])insteadExtract the values of given keys from the map under test into an array, this new array becoming the object under test.For example, if you specify "id", "name" and "email" keys then the array will contain the map values for these keys, you can then perform array assertions on the extracted values.
If a given key is not present in the map under test, a null value is extracted.
Example:
Map<String, Object> map = new HashMap<>(); map.put("name", "kawhi"); map.put("age", 25); assertThat(map).extracting("name", "age") .contains("kawhi", 25);Note that the order of extracted keys value is consistent with the iteration order of the array under test.
Nested keys are not yet supported, passing "name.first" won't get a value for "name" and then try to extract "first" from the previously extracted value, instead it will simply look for a value under "name.first" key.
- Parameters:
keys- the keys used to get values from the map under test- Returns:
- a new assertion object whose object under test is the array containing the extracted map values
-
extractingByKeys
@SafeVarargs public final AbstractListAssert<?,List<? extends V>, extractingByKeysV, ObjectAssert<V>> (K... keys) Extract the values of given keys from the map under test into an array, this new array becoming the object under test.For example, if you specify "id", "name" and "email" keys then the array will contain the map values for these keys, you can then perform array assertions on the extracted values.
If a given key is not present in the map under test, a null value is extracted.
Example:
Map<String, Object> map = new HashMap<>(); map.put("name", "kawhi"); map.put("age", 25); assertThat(map).extractingByKeys("name", "age") .contains("kawhi", 25);Note that:
- The order of the extracted key values is consistent with the iteration order of given keys.
- Providing no keys will result in an empty list.
- Parameters:
keys- the keys used to get values from the map under test- Returns:
- a new assertion object whose object under test is the array containing the extracted map values
- Since:
- 3.14.0
-
extractingByKeysForProxy
protected AbstractListAssert<?,List<? extends V>, extractingByKeysForProxyV, ObjectAssert<V>> (K[] keys) -
extracting
Deprecated.useextractingByKey(Object)insteadExtract the value of given key from the map under test, the extracted value becoming the new object under test.For example, if you specify "id" key, then the object under test will be the map value for this key.
If a given key is not present in the map under test, a null value is extracted.
Example:
Map<String, Object> map = new HashMap<>(); map.put("name", "kawhi"); assertThat(map).extracting("name") .isEqualTo("kawhi");Nested keys are not yet supported, passing "name.first" won't get a value for "name" and then try to extract "first" from the previously extracted value, instead it will simply look for a value under "name.first" key.
- Parameters:
key- the key used to get value from the map under test- Returns:
- a new
ObjectAssertinstance whose object under test is the extracted map value - Since:
- 3.13.0
-
extractingByKey
Extract the value of given key from the map under test, the extracted value becoming the new object under test.For example, if you specify "id" key, then the object under test will be the map value for this key.
If a given key is not present in the map under test, a null value is extracted.
Example:
Map<String, Object> map = new HashMap<>(); map.put("name", "kawhi"); assertThat(map).extractingByKey("name") .isEqualTo("kawhi");- Parameters:
key- the key used to get value from the map under test- Returns:
- a new
ObjectAssertinstance whose object under test is the extracted map value - Since:
- 3.14.0
- See Also:
-
extractingByKey
public <ASSERT extends AbstractAssert<?,?>> ASSERT extractingByKey(K key, InstanceOfAssertFactory<?, ASSERT> assertFactory) Extract the value of given key from the map under test, the extracted value becoming the new object under test.For example, if you specify "id" key, then the object under test will be the map value for this key.
If a given key is not present in the map under test, the assertion will fail.
The
assertFactoryparameter allows to specify anInstanceOfAssertFactory, which is used to get the assertions narrowed to the factory type.Wrapping the given
InstanceOfAssertFactorywithAssertions.as(InstanceOfAssertFactory)makes the assertion more readable.Example:
Map<String, Object> map = new HashMap<>(); map.put("name", "kawhi"); assertThat(map).extractingByKey("name", as(InstanceOfAssertFactories.STRING)) .startsWith("kaw");Nested keys are not yet supported, passing "name.first" won't get a value for "name" and then try to extract "first" from the previously extracted value, instead it will simply look for a value under "name.first" key.
- Type Parameters:
ASSERT- the type of the resultingAssert- Parameters:
key- the key used to get value from the map under testassertFactory- the factory which verifies the type and creates the newAssert- Returns:
- a new narrowed
Assertinstance whose object under test is the extracted map value - Throws:
NullPointerException- if the given factory isnull- Since:
- 3.14.0
-
extractingFromEntries
public AbstractListAssert<?,List<?>, extractingFromEntriesObject, ObjectAssert<Object>> (Function<? super Map.Entry<K, V>, Object> extractor) Use the givenFunctionto extract a value from theMap's entries. The extracted values are stored in a new list becoming the object under test.Let's take a look at an example to make things clearer :
// Build a Map that associates family roles and name of the Simpson family Map<String, CartoonCharacter> characters = new HashMap<>(); characters.put("dad", new CartoonCharacter("Homer")); characters.put("mom", new CartoonCharacter("Marge")); characters.put("girl", new CartoonCharacter("Lisa")); characters.put("boy", new CartoonCharacter("Bart")); assertThat(characters).extractingFromEntries(e -> e.getValue().getName()) .containsOnly("Homer", "Marge", "Lisa", "Bart");- Parameters:
extractor- the extractor function to extract a value from an entry of the Map under test.- Returns:
- a new assertion object whose object under test is the list of values extracted
- Since:
- 3.12.0
-
extractingFromEntries
@SafeVarargs public final AbstractListAssert<?,List<? extends Tuple>, extractingFromEntriesTuple, ObjectAssert<Tuple>> (Function<? super Map.Entry<K, V>, Object>... extractors) Use the givenFunctions to extract values from theMap's entries. The extracted values are stored in a new list composed ofTuples (a simple data structure containing the extracted values), this new list becoming the object under test.This method works as
extractingFromEntries(java.util.function.Function)except that it is designed to extract multiple values from theMapentries. That's why here the new object under test is a List ofTuples.The Tuple data corresponds to the extracted values from the Map's entries, for instance if you pass functions extracting the "id", "name" and "email" values then each Tuple data will be composed of an id, a name and an email extracted from the entry of the Map (the Tuple's data order is the same as the given functions order).
Let's take a look at an example to make things clearer :
Note that the order of extracted property/field values is consistent with the iteration order of the Iterable under test, for example if it's a// Build a Map that associates family roles and name of the Simpson family Map<String, CartoonCharacter> characters = new HashMap<>(); characters.put("dad", new CartoonCharacter("Homer")); characters.put("mom", new CartoonCharacter("Marge")); characters.put("girl", new CartoonCharacter("Lisa")); characters.put("boy", new CartoonCharacter("Bart")); assertThat(characters).extractingFromEntries(e -> e.getKey(), e -> e.getValue().getName()) .containsOnly(tuple("dad", "Homer"), tuple("mom", "Marge"), tuple("girl", "Lisa"), tuple("boy", "Bart"));HashSet, you won't be able to make any assumptions on the extracted values order.- Parameters:
extractors- the extractor functions to extract values from an entry of the Map under test.- Returns:
- a new assertion object whose object under test is the list of Tuples containing the extracted values.
- Since:
- 3.12.0
-
extractingFromEntriesForProxy
-
flatExtracting
Flatten the values of the given keys from the actual map under test into a new array, this new array becoming the object under test.If a given key is not present in the map under test, a
nullvalue is extracted.If a given key value is not an
Iterableor an array, it is simply extracted but (obviously) not flattened.Example:
List<String> names = asList("Dave", "Jeff"); LinkedHashSet<String> jobs = newLinkedHashSet("Plumber", "Builder"); Iterable<String> cities = asList("Dover", "Boston", "Paris"); int[] ranks = { 1, 2, 3 }; Map<String, Object> map = new LinkedHashMap<>(); map.put("name", names); map.put("job", jobs); map.put("city", cities); map.put("rank", ranks); assertThat(map).flatExtracting("name","job","city", "rank") .containsExactly("Dave", "Jeff", "Plumber", "Builder", "Dover", "Boston", "Paris", 1, 2, 3); // the order of values in the resulting array is the order of map keys then key values: assertThat(map).flatExtracting("city", "job", "name") .containsExactly("Dover", "Boston", "Paris", "Plumber", "Builder", "Dave", "Jeff"); // contains exactly null twice (one for each unknown keys) assertThat(map).flatExtracting("foo", "name", "bar") .containsExactly(null, "Dave", "Jeff", null); // if the key value is not an iterable/array, it will be simply extracted but not flattened. map.put("year", 2017)); assertThat(map).flatExtracting("name","job","year") .containsExactly("Dave", "Jeff", "Plumber", "Builder", "Dover", 2017);Note that the order of values in the resulting array is the order of the map keys iteration then key values.
- Parameters:
keys- the keys used to get values from the map under test- Returns:
- a new assertion object whose object under test is the array containing the extracted flattened map values
-
usingRecursiveComparison
Enable using a recursive field by field comparison strategy when calling the chainedRecursiveComparisonAssert,Example:
A detailed documentation for the recursive comparison is available here: https://assertj.github.io/doc/#assertj-core-recursive-comparison.public class Person { String name; boolean hasPhd; } public class Doctor { String name; boolean hasPhd; } Doctor drSheldon = new Doctor("Sheldon Cooper", true); Doctor drLeonard = new Doctor("Leonard Hofstadter", true); Doctor drRaj = new Doctor("Raj Koothrappali", true); Person sheldon = new Person("Sheldon Cooper", true); Person leonard = new Person("Leonard Hofstadter", true); Person raj = new Person("Raj Koothrappali", true); Map<String, Doctor> doctors = mapOf(entry(drSheldon.name, drSheldon), entry(drLeonard.name, drLeonard), entry(drRaj.name, drRaj)); Map<String, Person> people = mapOf(entry(sheldon.name, sheldon), entry(leonard.name, leonard), entry(raj.name, raj)); // assertion succeeds as both maps contains equivalent items. assertThat(doctors).usingRecursiveComparison() .isEqualTo(people); // assertion fails because leonard names are different. leonard.setName("Leonard Ofstater"); assertThat(doctors).usingRecursiveComparison() .isEqualTo(people);The default recursive comparison behavior is
configuredas follows:- different types of map can be compared by default, this allows to compare for example an
HashMap<Person>and aLinkedHashMap<PersonDto>.
This behavior can be turned off by callingwithStrictTypeChecking. - overridden equals methods are used in the comparison (unless stated otherwise - see https://assertj.github.io/doc/#assertj-core-recursive-comparison-ignoring-equals)
- the following types are compared with these comparators:
java.lang.Double:DoubleComparatorwith precision of 1.0E-15java.lang.Float:FloatComparatorwith precision of 1.0E-6- any comparators previously registered with
AbstractIterableAssert.usingComparatorForType(Comparator, Class)
At the moment, only `isEqualTo` can be chained after this method but there are plans to provide assertions.
- Overrides:
usingRecursiveComparisonin classAbstractObjectAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Returns:
- a new
RecursiveComparisonAssertinstance - See Also:
- different types of map can be compared by default, this allows to compare for example an
-
usingRecursiveComparison
public RecursiveComparisonAssert<?> usingRecursiveComparison(RecursiveComparisonConfiguration recursiveComparisonConfiguration) Same asusingRecursiveComparison()but allows to specify your ownRecursiveComparisonConfiguration.- Overrides:
usingRecursiveComparisonin classAbstractObjectAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
recursiveComparisonConfiguration- theRecursiveComparisonConfigurationused in the chainedisEqualToassertion.- Returns:
- a new
RecursiveComparisonAssertinstance built with the givenRecursiveComparisonConfiguration.
-
usingRecursiveAssertion
Asserts that the given predicate is met for all fields of the object under test recursively (but not the object itself).
For example if the object under test is an instance of class A, A has a B field and B a C field then the assertion checks A's B field and B's C field and all C's fields.
The recursive algorithm employs cycle detection, so object graphs with cyclic references can safely be asserted over without causing looping.
This method enables recursive asserting using default configuration, which means all fields of all objects have the
Predicateapplied to them (including primitive fields), no fields are excluded, but:- The recursion does not enter into Java Class Library types (java.*, javax.*)
- The
Predicateis applied toCollectionand array elements (but not the collection/array itself) - The
Predicateis applied toMapvalues but not the map itself or its keys - The
Predicateis applied toOptionaland primitive optional values
You can change how the recursive assertion deals with arrays, collections, maps and optionals, see:
RecursiveAssertionAssert.withCollectionAssertionPolicy(RecursiveAssertionConfiguration.CollectionAssertionPolicy)for collections and arraysRecursiveAssertionAssert.withMapAssertionPolicy(RecursiveAssertionConfiguration.MapAssertionPolicy)for mapsRecursiveAssertionAssert.withOptionalAssertionPolicy(RecursiveAssertionConfiguration.OptionalAssertionPolicy)for optionals
It is possible to assert several predicates over the object graph in a row.
The classes used in recursive asserting are not thread safe. Care must be taken when running tests in parallel not to run assertions over object graphs that are being shared between tests.
Example
class Author { String name; String email; List<Book> books = new ArrayList<>(); Author(String name, String email) { this.name = name; this.email = email; } } class Book { String title; Author[] authors; Book(String title, Author[] authors) { this.title = title; this.authors = authors; } } ... Author pramodSadalage = new Author("Pramod Sadalage", "p.sadalage@recursive.test"); Author martinFowler = new Author("Martin Fowler", "m.fowler@recursive.test"); Author kentBeck = new Author("Kent Beck", "k.beck@recursive.test"); Book noSqlDistilled = new Book("NoSql Distilled", new Author[] {pramodSadalage, martinFowler}); pramodSadalage.books.add(noSqlDistilled); martinFowler.books.add(noSqlDistilled); Book refactoring = new Book("Refactoring", new Author[] {martinFowler, kentBeck}); martinFowler.books.add(refactoring); kentBeck.books.add(refactoring); // assertion succeeds Map<String, Author> authors = new HashMap<>(); authors.put("MF", martinFowler); authors.put("KB", kentBeck); assertThat(authors).usingRecursiveAssertion() .allFieldsSatisfy(field -> field != null);In case one or more fields in the object graph fails the predicate test, the entire assertion will fail. Failing fields will be listed in the failure report using a JSON path-ish notation.
- Overrides:
usingRecursiveAssertionin classAbstractObjectAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Returns:
- A new instance of
RecursiveAssertionAssertbuilt with a defaultRecursiveAssertionConfiguration.
-
usingRecursiveAssertion
public RecursiveAssertionAssert usingRecursiveAssertion(RecursiveAssertionConfiguration recursiveAssertionConfiguration) The same as
usingRecursiveAssertion(), but this method allows the developer to pass in an explicit recursion configuration. This configuration gives fine-grained control over what to include in the recursion, such as:- Exclusion of fields that are null
- Exclusion of fields by path
- Exclusion of fields by type
- Exclusion of primitive fields
- Inclusion of Java Class Library types in the recursive execution
- Treatment of
Collectionand array objects - Treatment of
Mapobjects - Treatment of Optional and primitive Optional objects
Please refer to the documentation of
RecursiveAssertionConfiguration.Builderfor more details.- Overrides:
usingRecursiveAssertionin classAbstractObjectAssert<SELF extends AbstractMapAssert<SELF,ACTUAL, K, V>, ACTUAL extends Map<K, V>> - Parameters:
recursiveAssertionConfiguration- The recursion configuration described above.- Returns:
- A new instance of
RecursiveAssertionAssertbuilt with a defaultRecursiveAssertionConfiguration.
-
values
Returns an
AbstractCollectionAssertto make assertions on the values of the mapExample
TolkienCharacter pippin = new TolkienCharacter("Pippin", 28, HOBBIT); TolkienCharacter frodo = new TolkienCharacter("Frodo", 33, HOBBIT); TolkienCharacter merry = new TolkienCharacter("Merry", 36, HOBBIT); Map<String, TolkienCharacter> characters = mapOf(entry("Pippin", pippin), entry("Frodo", frodo), entry("Merry", merry)); assertThat(characters).values() .contains(frodo, pippin, merry);- Returns:
- An
AbstractCollectionAssertto make collections assertion only on map values. - Throws:
NullPointerException- if the map under test is null- Since:
- 3.26.0
-
extractingByKey(Object)instead