/** * Verifies that the actual <code>Iterable</code> is a subset of values <code>Iterable</code>. <br> * Both actual and given iterable are treated as sets, therefore duplicates on either of them are ignored. * * @param info contains information about the assertion. * @param actual the actual {@code Iterable}. * @param values the {@code Iterable} that should contain all actual elements. * @throws AssertionError if the actual {@code Iterable} is {@code null}. * @throws NullPointerException if the given Iterable is {@code null}. * @throws AssertionError if the actual {@code Iterable} is not subset of set <code>{@link Iterable}</code> */ public void assertIsSubsetOf(AssertionInfo info, Iterable<?> actual, Iterable<?> values) { assertNotNull(info, actual); checkIterableIsNotNull(info, values); List<Object> extra = stream(actual).filter(actualElement -> !iterableContains(values, actualElement)) .collect(toList()); if (extra.size() > 0) throw failures.failure(info, shouldBeSubsetOf(actual, values, extra, comparisonStrategy)); }
public void assertIsSubsetOf(AssertionInfo info, Failures failures, Object actual, Iterable<?> values) { assertNotNull(info, actual); checkIterableIsNotNull(info, values); List<Object> extra = newArrayList(); int sizeOfActual = sizeOf(actual); for (int i = 0; i < sizeOfActual; i++) { Object actualElement = Array.get(actual, i); if (!iterableContains(values, actualElement)) { extra.add(actualElement); } } if (extra.size() > 0) { throw failures.failure(info, shouldBeSubsetOf(actual, values, extra, comparisonStrategy)); } }
/** * Verifies that the actual <code>Iterable</code> is a subset of values <code>Iterable</code>. <br> * Both actual and given iterable are treated as sets, therefore duplicates on either of them are ignored. * * @param info contains information about the assertion. * @param actual the actual {@code Iterable}. * @param values the {@code Iterable} that should contain all actual elements. * @throws AssertionError if the actual {@code Iterable} is {@code null}. * @throws NullPointerException if the given Iterable is {@code null}. * @throws AssertionError if the actual {@code Iterable} is not subset of set <code>{@link Iterable}</code> */ public void assertIsSubsetOf(AssertionInfo info, Iterable<?> actual, Iterable<?> values) { assertNotNull(info, actual); checkIterableIsNotNull(values); List<Object> extra = stream(actual).filter(actualElement -> !iterableContains(values, actualElement)) .collect(toList()); if (extra.size() > 0) throw failures.failure(info, shouldBeSubsetOf(actual, values, extra, comparisonStrategy)); }
public void assertIsSubsetOf(AssertionInfo info, Failures failures, Object actual, Iterable<?> values) { assertNotNull(info, actual); checkIterableIsNotNull(values); List<Object> extra = newArrayList(); int sizeOfActual = sizeOf(actual); for (int i = 0; i < sizeOfActual; i++) { Object actualElement = Array.get(actual, i); if (!iterableContains(values, actualElement)) { extra.add(actualElement); } } if (extra.size() > 0) { throw failures.failure(info, shouldBeSubsetOf(actual, values, extra, comparisonStrategy)); } }