org.assertj.core.internal
Class Iterables

java.lang.Object
  extended by org.assertj.core.internal.Iterables

public class Iterables
extends Object

Reusable assertions for Iterables.

Author:
Alex Ruiz, Yvonne Wang, Maciej Jaskowski, Nicolas François, Joel Costigliola

Constructor Summary
Iterables(ComparisonStrategy comparisonStrategy)
           
 
Method Summary
<E> void
assertAre(AssertionInfo info, Iterable<? extends E> actual, Condition<? super E> condition)
          Assert that each element of given Iterable satisfies the given condition.
<E> void
assertAreAtLeast(AssertionInfo info, Iterable<? extends E> actual, int times, Condition<? super E> condition)
          Assert that there is at least n elements in the actual Iterable satisfying the given condition.
<E> void
assertAreAtMost(AssertionInfo info, Iterable<? extends E> actual, int n, Condition<? super E> condition)
          Assert that there is at most n elements in the actual Iterable satisfying the given condition.
<E> void
assertAreExactly(AssertionInfo info, Iterable<? extends E> actual, int times, Condition<? super E> condition)
          Verifies that there is exactly n elements in the actual Iterable satisfying the given condition.
<E> void
assertAreNot(AssertionInfo info, Iterable<? extends E> actual, Condition<? super E> condition)
          Assert that each element of given Iterable not satisfies the given condition.
 void assertContains(AssertionInfo info, Iterable<?> actual, Object[] values)
          Asserts that the given Iterable contains the given values, in any order.
 void assertContainsAll(AssertionInfo info, Iterable<?> actual, Iterable<?> other)
          Asserts that the given Iterable contains all the elements of the other Iterable, in any order.
 void assertContainsExactly(AssertionInfo info, Iterable<?> actual, Object[] values)
          Asserts that the given Iterable contains exactly the given values and nothing else, in order.
 void assertContainsNull(AssertionInfo info, Iterable<?> actual)
          Asserts that the given Iterable contains at least a null element.
 void assertContainsOnly(AssertionInfo info, Iterable<?> actual, Object[] values)
          Asserts that the given Iterable contains only the given values and nothing else, in any order.
 void assertContainsOnlyOnce(AssertionInfo info, Iterable<?> actual, Object[] values)
          Asserts that the given Iterable contains the given values and only once.
 void assertContainsSequence(AssertionInfo info, Iterable<?> actual, Object[] sequence)
          Verifies that the given Iterable contains the given sequence of objects, without any other objects between them.
 void assertContainsSubsequence(AssertionInfo info, Iterable<?> actual, Object[] subsequence)
          Verifies that the given Iterable contains the given subsequence of objects (possibly with other values between them).
 void assertDoesNotContain(AssertionInfo info, Iterable<?> actual, Object[] values)
          Asserts that the given Iterable does not contain the given values.
<T> void
assertDoesNotContainAnyElementsOf(AssertionInfo info, Iterable<? extends T> actual, Iterable<? extends T> iterable)
          Asserts that the given Iterable does not contain the given values.
 void assertDoesNotContainNull(AssertionInfo info, Iterable<?> actual)
          Asserts that the given Iterable does not contain null elements.
 void assertDoesNotHaveDuplicates(AssertionInfo info, Iterable<?> actual)
          Asserts that the given Iterable does not have duplicate values.
<E> void
assertDoNotHave(AssertionInfo info, Iterable<? extends E> actual, Condition<? super E> condition)
          Assert that each element of given Iterable not satisfies the given condition.
 void assertEmpty(AssertionInfo info, Iterable<?> actual)
          Asserts that the given Iterable is empty.
 void assertEndsWith(AssertionInfo info, Iterable<?> actual, Object[] sequence)
          Verifies that the given Iterable ends with the given sequence of objects, without any other objects between them.
 void assertHasSameSizeAs(AssertionInfo info, Iterable<?> actual, Iterable<?> other)
          Assert that the actual Iterable has the same size as the other Iterable.
 void assertHasSameSizeAs(AssertionInfo info, Iterable<?> actual, Object other)
          Assert that the actual Iterable has the same size as the other array.
 void assertHasSize(AssertionInfo info, Iterable<?> actual, int expectedSize)
          Asserts that the number of elements in the given Iterable is equal to the expected one.
<E> void
assertHave(AssertionInfo info, Iterable<? extends E> actual, Condition<? super E> condition)
          Assert that each element of given Iterable satisfies the given condition.
<E> void
assertHaveAtLeast(AssertionInfo info, Iterable<? extends E> actual, int times, Condition<? super E> condition)
          An alias method of assertAreAtLeast(AssertionInfo, Iterable, int, Condition) to provide a richer fluent api (same logic, only error message differs).
<E> void
assertHaveAtMost(AssertionInfo info, Iterable<? extends E> actual, int times, Condition<? super E> condition)
          An alias method of assertAreAtMost(AssertionInfo, Iterable, int, Condition) to provide a richer fluent api (same logic, only error message differs).
<E> void
assertHaveExactly(AssertionInfo info, Iterable<? extends E> actual, int times, Condition<? super E> condition)
          An alias method of assertAreExactly(AssertionInfo, Iterable, int, Condition) to provide a richer fluent api (same logic, only error message differs).
 void assertIsSubsetOf(AssertionInfo info, Iterable<?> actual, Iterable<?> values)
          Verifies that the actual Iterable is a subset of values Iterable.
 void assertNotEmpty(AssertionInfo info, Iterable<?> actual)
          Asserts that the given Iterable is not empty.
 void assertNullOrEmpty(AssertionInfo info, Iterable<?> actual)
          Asserts that the given Iterable is null or empty.
 void assertStartsWith(AssertionInfo info, Iterable<?> actual, Object[] sequence)
          Verifies that the given Iterable starts with the given sequence of objects, without any other objects between them.
 Comparator<?> getComparator()
           
 ComparisonStrategy getComparisonStrategy()
           
static Iterables instance()
          Returns the singleton instance of this class based on StandardComparisonStrategy.
static IllegalArgumentException iterableToLookForIsEmpty()
           
static NullPointerException iterableToLookForIsNull()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Iterables

public Iterables(ComparisonStrategy comparisonStrategy)
Method Detail

instance

public static Iterables instance()
Returns the singleton instance of this class based on StandardComparisonStrategy.

Returns:
the singleton instance of this class based on StandardComparisonStrategy.

getComparator

public Comparator<?> getComparator()

assertNullOrEmpty

public void assertNullOrEmpty(AssertionInfo info,
                              Iterable<?> actual)
Asserts that the given Iterable is null or empty.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
Throws:
AssertionError - if the given Iterable is not null *and* contains one or more elements.

assertEmpty

public void assertEmpty(AssertionInfo info,
                        Iterable<?> actual)
Asserts that the given Iterable is empty.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
Throws:
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable is not empty.

assertNotEmpty

public void assertNotEmpty(AssertionInfo info,
                           Iterable<?> actual)
Asserts that the given Iterable is not empty.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
Throws:
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable is empty.

assertHasSize

public void assertHasSize(AssertionInfo info,
                          Iterable<?> actual,
                          int expectedSize)
Asserts that the number of elements in the given Iterable is equal to the expected one.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
expectedSize - the expected size of actual.
Throws:
AssertionError - if the given Iterable is null.
AssertionError - if the number of elements in the given Iterable is different than the expected one.

assertHasSameSizeAs

public void assertHasSameSizeAs(AssertionInfo info,
                                Iterable<?> actual,
                                Object other)
Assert that the actual Iterable has the same size as the other array.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
other - the given array to compare.
Throws:
AssertionError - if the actual group is null.
AssertionError - if the other group is null.
AssertionError - if actual Iterable and other array don't have the same size.

assertHasSameSizeAs

public void assertHasSameSizeAs(AssertionInfo info,
                                Iterable<?> actual,
                                Iterable<?> other)
Assert that the actual Iterable has the same size as the other Iterable.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
other - the given Iterable.
Throws:
AssertionError - if the actual group is null.
AssertionError - if the other group is null.
AssertionError - if actual and other Iterable don't have the same size.

assertContains

public void assertContains(AssertionInfo info,
                           Iterable<?> actual,
                           Object[] values)
Asserts that the given Iterable contains the given values, in any order.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
values - the values that are expected to be in the given Iterable.
Throws:
NullPointerException - if the array of values is null.
IllegalArgumentException - if the array of values is empty.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not contain the given values.

assertContainsOnly

public void assertContainsOnly(AssertionInfo info,
                               Iterable<?> actual,
                               Object[] values)
Asserts that the given Iterable contains only the given values and nothing else, in any order.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
values - the values that are expected to be in the given Iterable.
Throws:
NullPointerException - if the array of values is null.
IllegalArgumentException - if the array of values is empty.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not contain the given values or if the given Iterable contains values that are not in the given array.

assertContainsOnlyOnce

public void assertContainsOnlyOnce(AssertionInfo info,
                                   Iterable<?> actual,
                                   Object[] values)
Asserts that the given Iterable contains the given values and only once.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
values - the values that are expected to be in the given Iterable.
Throws:
NullPointerException - if the array of values is null.
IllegalArgumentException - if the array of values is empty.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not contain the given values or if the given Iterable contains values that are not in the given array.

assertContainsSequence

public void assertContainsSequence(AssertionInfo info,
                                   Iterable<?> actual,
                                   Object[] sequence)
Verifies that the given Iterable contains the given sequence of objects, without any other objects between them.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
sequence - the sequence of objects to look for.
Throws:
AssertionError - if the given Iterable is null.
NullPointerException - if the given sequence is null.
IllegalArgumentException - if the given sequence is empty.
AssertionError - if the given Iterable does not contain the given sequence of objects.

assertContainsSubsequence

public void assertContainsSubsequence(AssertionInfo info,
                                      Iterable<?> actual,
                                      Object[] subsequence)
Verifies that the given Iterable contains the given subsequence of objects (possibly with other values between them).

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
subsequence - the subsequence of objects to look for.
Throws:
AssertionError - if the given Iterable is null.
NullPointerException - if the given sequence is null.
IllegalArgumentException - if the given subsequence is empty.
AssertionError - if the given Iterable does not contain the given subsequence of objects.

assertIsSubsetOf

public void assertIsSubsetOf(AssertionInfo info,
                             Iterable<?> actual,
                             Iterable<?> values)
Verifies that the actual Iterable is a subset of values Iterable.
Both actual and given iterable are treated as sets, therefore duplicates on either of them are ignored.

Parameters:
info - contains information about the assertion.
actual - the actual Iterable.
values - the Iterable that should contain all actual elements.
Throws:
AssertionError - if the actual Iterable is null.
NullPointerException - if the given Iterable is null.
AssertionError - if the actual Iterable is not subset of set Iterable

assertDoesNotContain

public void assertDoesNotContain(AssertionInfo info,
                                 Iterable<?> actual,
                                 Object[] values)
Asserts that the given Iterable does not contain the given values.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
values - the values that are expected not to be in the given Iterable.
Throws:
NullPointerException - if the array of values is null.
IllegalArgumentException - if the array of values is empty.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable contains any of given values.

assertDoesNotContainAnyElementsOf

public <T> void assertDoesNotContainAnyElementsOf(AssertionInfo info,
                                                  Iterable<? extends T> actual,
                                                  Iterable<? extends T> iterable)
Asserts that the given Iterable does not contain the given values.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
iterable - the values that are expected not to be in the given Iterable.
Throws:
NullPointerException - if the array of values is null.
IllegalArgumentException - if the array of values is empty.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable contains any of given values.

assertDoesNotHaveDuplicates

public void assertDoesNotHaveDuplicates(AssertionInfo info,
                                        Iterable<?> actual)
Asserts that the given Iterable does not have duplicate values.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
Throws:
NullPointerException - if the array of values is null.
IllegalArgumentException - if the array of values is empty.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable contains duplicate values.

assertStartsWith

public void assertStartsWith(AssertionInfo info,
                             Iterable<?> actual,
                             Object[] sequence)
Verifies that the given Iterable starts with the given sequence of objects, without any other objects between them. Similar to assertContainsSequence(AssertionInfo, Iterable, Object[]), but it also verifies that the first element in the sequence is also the first element of the given Iterable.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
sequence - the sequence of objects to look for.
Throws:
NullPointerException - if the given argument is null.
IllegalArgumentException - if the given argument is an empty array.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not start with the given sequence of objects.

assertEndsWith

public void assertEndsWith(AssertionInfo info,
                           Iterable<?> actual,
                           Object[] sequence)
Verifies that the given Iterable ends with the given sequence of objects, without any other objects between them. Similar to assertContainsSequence(AssertionInfo, Iterable, Object[]), but it also verifies that the last element in the sequence is also the last element of the given Iterable.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
sequence - the sequence of objects to look for.
Throws:
NullPointerException - if the given argument is null.
IllegalArgumentException - if the given argument is an empty array.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not end with the given sequence of objects.

assertContainsNull

public void assertContainsNull(AssertionInfo info,
                               Iterable<?> actual)
Asserts that the given Iterable contains at least a null element.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
Throws:
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not contain at least a null element.

assertDoesNotContainNull

public void assertDoesNotContainNull(AssertionInfo info,
                                     Iterable<?> actual)
Asserts that the given Iterable does not contain null elements.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
Throws:
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable contains a null element.

assertAre

public <E> void assertAre(AssertionInfo info,
                          Iterable<? extends E> actual,
                          Condition<? super E> condition)
Assert that each element of given Iterable satisfies the given condition.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
condition - the given Condition.
Throws:
NullPointerException - if the given condition is null.
AssertionError - if a element cannot be cast to E.
AssertionError - if one or more element not satisfy the given condition.

assertAreNot

public <E> void assertAreNot(AssertionInfo info,
                             Iterable<? extends E> actual,
                             Condition<? super E> condition)
Assert that each element of given Iterable not satisfies the given condition.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
condition - the given Condition.
Throws:
NullPointerException - if the given condition is null.
AssertionError - if a element cannot be cast to E.
AssertionError - if one or more element satisfy the given condition.

assertHave

public <E> void assertHave(AssertionInfo info,
                           Iterable<? extends E> actual,
                           Condition<? super E> condition)
Assert that each element of given Iterable satisfies the given condition.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
condition - the given Condition.
Throws:
NullPointerException - if the given condition is null.
AssertionError - if a element cannot be cast to E.
AssertionError - if one or more element not satisfy the given condition.

assertDoNotHave

public <E> void assertDoNotHave(AssertionInfo info,
                                Iterable<? extends E> actual,
                                Condition<? super E> condition)
Assert that each element of given Iterable not satisfies the given condition.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
condition - the given Condition.
Throws:
NullPointerException - if the given condition is null.
AssertionError - if a element cannot be cast to E.
AssertionError - if one or more element satisfy the given condition.

assertAreAtLeast

public <E> void assertAreAtLeast(AssertionInfo info,
                                 Iterable<? extends E> actual,
                                 int times,
                                 Condition<? super E> condition)
Assert that there is at least n elements in the actual Iterable satisfying the given condition.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
times - the minimum number of times the condition should be verified.
condition - the given Condition.
Throws:
NullPointerException - if the given condition is null.
AssertionError - if a element cannot be cast to E.
AssertionError - if the number of elements satisfying the given condition is < n.

assertAreAtMost

public <E> void assertAreAtMost(AssertionInfo info,
                                Iterable<? extends E> actual,
                                int n,
                                Condition<? super E> condition)
Assert that there is at most n elements in the actual Iterable satisfying the given condition.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
n - the number of times the condition should be at most verified.
condition - the given Condition.
Throws:
NullPointerException - if the given condition is null.
AssertionError - if a element cannot be cast to E.
AssertionError - if the number of elements satisfying the given condition is > n.

assertAreExactly

public <E> void assertAreExactly(AssertionInfo info,
                                 Iterable<? extends E> actual,
                                 int times,
                                 Condition<? super E> condition)
Verifies that there is exactly n elements in the actual Iterable satisfying the given condition.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
times - the exact number of times the condition should be verified.
condition - the given Condition.
Throws:
NullPointerException - if the given condition is null.
AssertionError - if a element cannot be cast to E.
AssertionError - if the number of elements satisfying the given condition is ≠ n.

assertHaveAtLeast

public <E> void assertHaveAtLeast(AssertionInfo info,
                                  Iterable<? extends E> actual,
                                  int times,
                                  Condition<? super E> condition)
An alias method of assertAreAtLeast(AssertionInfo, Iterable, int, Condition) to provide a richer fluent api (same logic, only error message differs).


assertHaveAtMost

public <E> void assertHaveAtMost(AssertionInfo info,
                                 Iterable<? extends E> actual,
                                 int times,
                                 Condition<? super E> condition)
An alias method of assertAreAtMost(AssertionInfo, Iterable, int, Condition) to provide a richer fluent api (same logic, only error message differs).


assertHaveExactly

public <E> void assertHaveExactly(AssertionInfo info,
                                  Iterable<? extends E> actual,
                                  int times,
                                  Condition<? super E> condition)
An alias method of assertAreExactly(AssertionInfo, Iterable, int, Condition) to provide a richer fluent api (same logic, only error message differs).


assertContainsAll

public void assertContainsAll(AssertionInfo info,
                              Iterable<?> actual,
                              Iterable<?> other)
Asserts that the given Iterable contains all the elements of the other Iterable, in any order.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
other - the other Iterable.
Throws:
NullPointerException - if Iterable is null.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not contain all the elements of the other Iterable, in any order.

assertContainsExactly

public void assertContainsExactly(AssertionInfo info,
                                  Iterable<?> actual,
                                  Object[] values)
Asserts that the given Iterable contains exactly the given values and nothing else, in order.

Parameters:
info - contains information about the assertion.
actual - the given Iterable.
values - the values that are expected to be in the given Iterable in order.
Throws:
NullPointerException - if the array of values is null.
AssertionError - if the given Iterable is null.
AssertionError - if the given Iterable does not contain the given values or if the given Iterable contains values that are not in the given array, in order.

iterableToLookForIsNull

public static NullPointerException iterableToLookForIsNull()

iterableToLookForIsEmpty

public static IllegalArgumentException iterableToLookForIsEmpty()

getComparisonStrategy

public ComparisonStrategy getComparisonStrategy()


Copyright © 2013–2015 AssertJ. All rights reserved.