Best Assertj code snippet using org.assertj.core.internal.Iterables.actualContainsSubsequence
Source:Iterables.java
...419 if (subsequenceIndex == 0) subsequenceStartIndex = index;420 subsequenceIndex++;421 }422 if (subsequenceIndex == subsequence.length) {423 throw actualContainsSubsequence(info, actual, subsequence, subsequenceStartIndex);424 }425 }426 }427 /**428 * Verifies that the actual <code>Iterable</code> is a subset of values <code>Iterable</code>. <br>429 * Both actual and given iterable are treated as sets, therefore duplicates on either of them are ignored.430 * 431 * @param info contains information about the assertion.432 * @param actual the actual {@code Iterable}.433 * @param values the {@code Iterable} that should contain all actual elements.434 * @throws AssertionError if the actual {@code Iterable} is {@code null}.435 * @throws NullPointerException if the given Iterable is {@code null}.436 * @throws AssertionError if the actual {@code Iterable} is not subset of set <code>{@link Iterable}</code>437 */438 public void assertIsSubsetOf(AssertionInfo info, Iterable<?> actual, Iterable<?> values) {439 assertNotNull(info, actual);440 checkIterableIsNotNull(info, values);441 List<Object> extra = newArrayList();442 for (Object actualElement : actual) {443 if (!iterableContains(values, actualElement)) extra.add(actualElement);444 }445 if (extra.size() > 0) throw failures.failure(info, shouldBeSubsetOf(actual, values, extra, comparisonStrategy));446 }447 /**448 * Return true if actualAsList contains exactly the given sequence at given starting index, false otherwise.449 * 450 * @param actualAsList the list to look sequence in451 * @param sequence the sequence to look for452 * @param startingIndex the index of actual list at which we start looking for sequence.453 * @return true if actualAsList contains exactly the given sequence at given starting index, false otherwise.454 */455 private boolean containsSequenceAtGivenIndex(List<?> actualAsList, Object[] sequence, int startingIndex) {456 // check that, starting from given index, actualAsList has enough remaining elements to contain sequence457 if (actualAsList.size() - startingIndex < sequence.length) return false;458 for (int i = 0; i < sequence.length; i++) {459 if (!areEqual(actualAsList.get(startingIndex + i), sequence[i])) return false;460 }461 return true;462 }463 /**464 * Delegates to {@link ComparisonStrategy#areEqual(Object, Object)}465 */466 private boolean areEqual(Object actual, Object other) {467 return comparisonStrategy.areEqual(actual, other);468 }469 private AssertionError actualDoesNotContainSequence(AssertionInfo info, Iterable<?> actual, Object[] sequence) {470 return failures.failure(info, shouldContainSequence(actual, sequence, comparisonStrategy));471 }472 private AssertionError actualDoesContainSequence(AssertionInfo info, Iterable<?> actual, Object[] sequence,473 int index) {474 return failures.failure(info, shouldNotContainSequence(actual, sequence, index, comparisonStrategy));475 }476 private AssertionError actualDoesNotContainSubsequence(AssertionInfo info, Iterable<?> actual, Object[] subsequence) {477 return failures.failure(info, shouldContainSubsequence(actual, subsequence, comparisonStrategy));478 }479 private AssertionError actualContainsSubsequence(AssertionInfo info, Iterable<?> actual, Object[] subsequence,480 int index) {481 return failures.failure(info, shouldNotContainSubsequence(actual, subsequence, comparisonStrategy, index));482 }483 /**484 * Asserts that the given {@code Iterable} does not contain the given values.485 * 486 * @param info contains information about the assertion.487 * @param actual the given {@code Iterable}.488 * @param values the values that are expected not to be in the given {@code Iterable}.489 * @throws NullPointerException if the array of values is {@code null}.490 * @throws IllegalArgumentException if the array of values is empty.491 * @throws AssertionError if the given {@code Iterable} is {@code null}.492 * @throws AssertionError if the given {@code Iterable} contains any of given values.493 */...
actualContainsSubsequence
Using AI Code Generation
1@DisplayName("Testing the containsSubsequence method of the Iterables class")2class IterablesTest {3 void testContainsSubsequence() {4 List<String> actual = Arrays.asList("one", "two", "three", "four", "five");5 List<String> subsequence = Arrays.asList("one", "three", "five");6 assertThat(actual).containsSubsequence(subsequence);7 }8}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!