Package com.google.common.truth
Class IterableSubject<S extends IterableSubject<S,T,C>,T,C extends java.lang.Iterable<T>>
- java.lang.Object
-
- com.google.common.truth.Subject<S,C>
-
- com.google.common.truth.IterableSubject<S,T,C>
-
- Direct Known Subclasses:
CollectionSubject
public class IterableSubject<S extends IterableSubject<S,T,C>,T,C extends java.lang.Iterable<T>> extends Subject<S,C>
Propositions forIterablesubjects.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classIterableSubject.NotInOrderOrdered implementation that always fails.-
Nested classes/interfaces inherited from class com.google.common.truth.Subject
Subject.HasField
-
-
Field Summary
Fields Modifier and Type Field Description private static OrderedIN_ORDEROrdered implementation that does nothing because it's already known to be true.-
Fields inherited from class com.google.common.truth.Subject
failureStrategy
-
-
Constructor Summary
Constructors Constructor Description IterableSubject(FailureStrategy failureStrategy, C list)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcontains(java.lang.Object element)Attests (with a side-effect failure) that the subject contains the supplied item.private voidcontains(java.lang.String failVerb, java.lang.Iterable<?> expected)private OrderedcontainsAll(java.lang.String failVerb, java.lang.Iterable<?> expected)OrderedcontainsAllIn(java.lang.Iterable<?> expected)Attests that the subject contains at least all of the provided objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).OrderedcontainsAllOf(java.lang.Object first, java.lang.Object second, java.lang.Object... rest)Attests that the subject contains at least all of the provided objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).voidcontainsAnyIn(java.lang.Iterable<?> expected)Attests that a Collection contains at least one of the objects contained in the provided collection or fails.voidcontainsAnyOf(java.lang.Object first, java.lang.Object second, java.lang.Object... rest)Attests that the subject contains at least one of the provided objects or fails.OrderedcontainsExactly(java.lang.Object... varargs)Attests that a subject contains all of the provided objects and only these objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).private OrderedcontainsExactly(java.lang.String failVerb, java.lang.Iterable<?> required)OrderedcontainsExactlyElementsIn(java.lang.Iterable<?> expected)Attests that a subject contains all of the provided objects and only these objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).voidcontainsNoDuplicates()Attests that the subject does not contain duplicate elements.private voidcontainsNone(java.lang.String failVerb, java.lang.Iterable<?> excluded)voidcontainsNoneIn(java.lang.Iterable<?> excluded)Attests that a Collection contains none of the objects contained in the provided collection or fails, eliding duplicates.voidcontainsNoneOf(java.lang.Object first, java.lang.Object second, java.lang.Object... rest)Attests that a subject contains none of the provided objects or fails, eliding duplicates.OrderedcontainsOnlyElements(java.lang.Object first, java.lang.Object second, java.lang.Object... rest)Deprecated.UsecontainsExactly(Object...)instead.OrderedcontainsOnlyElementsIn(java.lang.Iterable<?> expected)Deprecated.UsecontainsExactlyElementsIn(Iterable)instead.(package private) static <T,C extends java.lang.Iterable<T>>
IterableSubject<? extends IterableSubject<?,T,C>,T,C>create(FailureStrategy failureStrategy, java.lang.Iterable<T> list)voiddoesNotContain(java.lang.Object element)Attests (with a side-effect failure) that the subject does not contain the supplied item.voidhasSize(int expectedSize)Fails if the subject does not have the given size.voidisEmpty()Fails if the subject is not empty.voidisNotEmpty()Fails if the subject is empty.voiditeratesAs(java.lang.Iterable<?> expectedItems)Asserts that the items are supplied in the order given by the iterable.voiditeratesAs(java.lang.Object... expectedItems)Asserts that the items are supplied in the order given by the iterable.voiditeratesOverSequence(java.lang.Object... expectedItems)Deprecated.UsecontainsExactly(Object, Object...).inOrder()instead.-
Methods inherited from class com.google.common.truth.Subject
check, equals, fail, fail, fail, failWithBadResults, failWithCustomSubject, failWithoutSubject, failWithRawMessage, getDisplaySubject, getSubject, hasField, hashCode, internalCustomName, is, isA, isEqualTo, isInstanceOf, isNotA, isNotEqualTo, isNotInstanceOf, isNotNull, isNotSameAs, isNull, isSameAs, labeled, named
-
-
-
-
Field Detail
-
IN_ORDER
private static final Ordered IN_ORDER
Ordered implementation that does nothing because it's already known to be true.
-
-
Constructor Detail
-
IterableSubject
IterableSubject(FailureStrategy failureStrategy, C list)
-
-
Method Detail
-
create
static <T,C extends java.lang.Iterable<T>> IterableSubject<? extends IterableSubject<?,T,C>,T,C> create(FailureStrategy failureStrategy, java.lang.Iterable<T> list)
-
isEmpty
public void isEmpty()
Fails if the subject is not empty.
-
isNotEmpty
public void isNotEmpty()
Fails if the subject is empty.
-
hasSize
public final void hasSize(int expectedSize)
Fails if the subject does not have the given size.
-
iteratesAs
public void iteratesAs(java.lang.Iterable<?> expectedItems)
Asserts that the items are supplied in the order given by the iterable. If the iterable under test and/or theexpectedItemsdo not provide iteration order guarantees (say,Set<?>s), this method may provide unexpected results. Consider usingSubject.isEqualTo(Object)in such cases, or using collections and iterables that provide strong order guarantees.
-
iteratesOverSequence
@Deprecated public void iteratesOverSequence(java.lang.Object... expectedItems)
Deprecated.UsecontainsExactly(Object, Object...).inOrder()instead.
-
iteratesAs
public void iteratesAs(java.lang.Object... expectedItems)
Asserts that the items are supplied in the order given by the iterable. If the iterable under test does not provide iteration order guarantees (say, aSet<?>), this method is not suitable for asserting that order. Consider usingSubject.isEqualTo(Object)
-
contains
public void contains(@Nullable java.lang.Object element)Attests (with a side-effect failure) that the subject contains the supplied item.
-
doesNotContain
public void doesNotContain(@Nullable java.lang.Object element)Attests (with a side-effect failure) that the subject does not contain the supplied item.
-
containsNoDuplicates
public void containsNoDuplicates()
Attests that the subject does not contain duplicate elements.
-
containsAnyOf
public void containsAnyOf(@Nullable java.lang.Object first, @Nullable java.lang.Object second, java.lang.Object... rest)Attests that the subject contains at least one of the provided objects or fails.
-
containsAnyIn
public void containsAnyIn(java.lang.Iterable<?> expected)
Attests that a Collection contains at least one of the objects contained in the provided collection or fails.
-
contains
private void contains(java.lang.String failVerb, java.lang.Iterable<?> expected)
-
containsAllOf
public Ordered containsAllOf(@Nullable java.lang.Object first, @Nullable java.lang.Object second, java.lang.Object... rest)
Attests that the subject contains at least all of the provided objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).Callers may optionally chain an
inOrder()call if its expected contents must be contained in the given order.
-
containsAllIn
public Ordered containsAllIn(java.lang.Iterable<?> expected)
Attests that the subject contains at least all of the provided objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).Callers may optionally chain an
inOrder()call if its expected contents must be contained in the given order.
-
containsAll
private Ordered containsAll(java.lang.String failVerb, java.lang.Iterable<?> expected)
-
containsOnlyElements
@Deprecated public Ordered containsOnlyElements(@Nullable java.lang.Object first, @Nullable java.lang.Object second, java.lang.Object... rest)
Deprecated.UsecontainsExactly(Object...)instead.Attests that a subject contains all of the provided objects and only these objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).Callers may optionally chain an
inOrder()call if its expected contents must be contained in the given order.
-
containsOnlyElementsIn
@Deprecated public Ordered containsOnlyElementsIn(java.lang.Iterable<?> expected)
Deprecated.UsecontainsExactlyElementsIn(Iterable)instead.Attests that a subject contains all of the provided objects and only these objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).Callers may optionally chain an
inOrder()call if its expected contents must be contained in the given order.
-
containsExactly
public Ordered containsExactly(@Nullable java.lang.Object... varargs)
Attests that a subject contains all of the provided objects and only these objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).Callers may optionally chain an
inOrder()call if its expected contents must be contained in the given order.
-
containsExactlyElementsIn
public Ordered containsExactlyElementsIn(java.lang.Iterable<?> expected)
Attests that a subject contains all of the provided objects and only these objects or fails, potentially permitting duplicates in both the subject and the parameters (if the subject even can have duplicates).Callers may optionally chain an
inOrder()call if its expected contents must be contained in the given order.
-
containsExactly
private Ordered containsExactly(java.lang.String failVerb, java.lang.Iterable<?> required)
-
containsNoneOf
public void containsNoneOf(@Nullable java.lang.Object first, @Nullable java.lang.Object second, java.lang.Object... rest)Attests that a subject contains none of the provided objects or fails, eliding duplicates.
-
containsNoneIn
public void containsNoneIn(java.lang.Iterable<?> excluded)
Attests that a Collection contains none of the objects contained in the provided collection or fails, eliding duplicates.
-
containsNone
private void containsNone(java.lang.String failVerb, java.lang.Iterable<?> excluded)
-
-