Class MultimapSubject
- Direct Known Subclasses:
MultimapWithProtoValuesSubject
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
A partially specified check in which the actual values (i.e. the values of theMultimap
under test) are compared to expected values using aCorrespondence
.Nested classes/interfaces inherited from class com.google.common.truth.Subject
Subject.Factory<SubjectT extends Subject, ActualT>
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
MultimapSubject
(FailureMetadata metadata, @Nullable Multimap<?, ?> actual) Constructor for use by subclasses. -
Method Summary
Modifier and TypeMethodDescription<A extends @Nullable Object, E extends @Nullable Object>
MultimapSubject.UsingCorrespondence<A, E> comparingValuesUsing
(Correspondence<? super A, ? super E> correspondence) Starts a method chain for a check in which the actual values (i.e. the values of theMultimap
under test) are compared to expected values using the givenCorrespondence
.final Ordered
Checks that the actual multimap contains at least the given key/value pairs.final Ordered
containsAtLeastEntriesIn
(@Nullable Multimap<?, ?> expected) Checks that the actual multimap contains at least the entries in the argumentMultimap
.final void
containsEntry
(@Nullable Object key, @Nullable Object value) Checks that the actual multimap contains the given entry.final Ordered
Checks that the actual multimap is empty.final Ordered
Checks that the actual multimap contains exactly the given set of key/value pairs.final Ordered
containsExactlyEntriesIn
(@Nullable Multimap<?, ?> expected) Checks that the actual multimap contains precisely the same entries as the argumentMultimap
.final void
containsKey
(@Nullable Object key) Checks that the actual multimap contains the given key.final void
doesNotContainEntry
(@Nullable Object key, @Nullable Object value) Checks that the actual multimap does not contain the given entry.final void
Checks that the actual multimap does not contain the given key.final void
hasSize
(int size) Checks that the actual multimap has the given size.final void
isEmpty()
Checks that the actual multimap is empty.final void
Checks that the value under test is equal to the given object.final void
Checks that the actual multimap is not empty.valuesForKey
(@Nullable Object key) Methods inherited from class com.google.common.truth.Subject
actualCustomStringRepresentation, check, equals, failWithActual, failWithActual, failWithoutActual, hashCode, ignoreCheck, isAnyOf, isIn, isInstanceOf, isNoneOf, isNotEqualTo, isNotIn, isNotInstanceOf, isNotNull, isNotSameInstanceAs, isNull, isSameInstanceAs, toString
-
Constructor Details
-
MultimapSubject
Constructor for use by subclasses. If you want to create an instance of this class itself, callcheck(...)
.that(actual)
.
-
-
Method Details
-
isEmpty
public final void isEmpty()Checks that the actual multimap is empty. -
isNotEmpty
public final void isNotEmpty()Checks that the actual multimap is not empty. -
hasSize
public final void hasSize(int size) Checks that the actual multimap has the given size. -
containsKey
-
doesNotContainKey
-
containsEntry
-
doesNotContainEntry
-
valuesForKey
Returns aSubject
for making assertions about the values for the given key within theMultimap
.This method performs no checks on its own and cannot cause test failures. Subsequent assertions must be chained onto this method call to test properties of the
Multimap
. (There is one small exception: This method does check whether the actual value is null, failing if so.) -
isEqualTo
Description copied from class:Subject
Checks that the value under test is equal to the given object. For the purposes of this comparison, two objects are equal if any of the following is true:- they are equal according to
Objects.equals(java.lang.Object, java.lang.Object)
- they are arrays and are considered equal by the appropriate
Arrays.equals(long[], long[])
overload - they are boxed integer types (
Byte
,Short
,Character
,Integer
, orLong
) and they are numerically equal when converted toLong
. - the actual value is a boxed floating-point type (
Double
orFloat
), the expected value is anInteger
, and the two are numerically equal when converted toDouble
. (This allowsassertThat(someDouble).isEqualTo(0)
to pass.)
Note: This method does not test the
Object.equals(java.lang.Object)
implementation itself; it assumes that method is functioning correctly according to its contract. Testing anequals
implementation requires a utility such as guava-testlib's EqualsTester.In some cases, this method might not even call
equals
. It may instead perform other tests that will return the same result as long asequals
is implemented according to the contract for its type. - they are equal according to
-
containsExactlyEntriesIn
@CanIgnoreReturnValue public final Ordered containsExactlyEntriesIn(@Nullable Multimap<?, ?> expected) Checks that the actual multimap contains precisely the same entries as the argumentMultimap
.A subsequent call to
Ordered.inOrder()
may be made if the caller wishes to verify that the two multimaps iterate fully in the same order. That is, their key sets iterate in the same order, and the value collections for each key iterate in the same order. -
containsAtLeastEntriesIn
@CanIgnoreReturnValue public final Ordered containsAtLeastEntriesIn(@Nullable Multimap<?, ?> expected) Checks that the actual multimap contains at least the entries in the argumentMultimap
.A subsequent call to
Ordered.inOrder()
may be made if the caller wishes to verify that the entries are present in the same order as given. That is, the keys are present in the given order in the key set, and the values for each key are present in the given order order in the value collections. -
containsExactly
Checks that the actual multimap is empty. -
containsExactly
@CanIgnoreReturnValue public final Ordered containsExactly(@Nullable Object k0, @Nullable Object v0, @Nullable Object... rest) Checks that the actual multimap contains exactly the given set of key/value pairs.Warning: the use of varargs means that we cannot guarantee an equal number of key/value pairs at compile time. Please make sure you provide varargs in key/value pairs!
-
containsAtLeast
@CanIgnoreReturnValue public final Ordered containsAtLeast(@Nullable Object k0, @Nullable Object v0, @Nullable Object... rest) Checks that the actual multimap contains at least the given key/value pairs.Warning: the use of varargs means that we cannot guarantee an equal number of key/value pairs at compile time. Please make sure you provide varargs in key/value pairs!
-
comparingValuesUsing
public <A extends @Nullable Object, E extends @Nullable Object> MultimapSubject.UsingCorrespondence<A,E> comparingValuesUsing(Correspondence<? super A, ? super E> correspondence) Starts a method chain for a check in which the actual values (i.e. the values of theMultimap
under test) are compared to expected values using the givenCorrespondence
. The actual values must be of typeA
, and the expected values must be of typeE
. The check is actually executed by continuing the method chain. For example:
whereassertThat(actualMultimap) .comparingValuesUsing(correspondence) .containsEntry(expectedKey, expectedValue);
actualMultimap
is aMultimap<?, A>
(or, more generally, aMultimap<?, ? extends A>
),correspondence
is aCorrespondence<A, E>
, andexpectedValue
is anE
.Note that keys will always be compared with regular object equality (
Object.equals(java.lang.Object)
).Any of the methods on the returned object may throw
ClassCastException
if they encounter an actual multimap that is not of typeA
.
-