package org.zalando.problem.spring.web.advice;
import org.junit.Test;
import static java.util.Arrays.asList;
import static java.util.Collections.emptyList;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.zalando.problem.spring.web.advice.Lists.lengthOfTrailingPartialSubList;
public final class ListsTest {
@Test
public void shouldFindCompleteMatch() {
final int length = lengthOfTrailingPartialSubList(
asList("a", "b", "c"), asList("a", "b", "c"));
assertThat(length, is(equalTo(3)));
}
@Test
public void shouldFindPartialMatch() {
final int length = lengthOfTrailingPartialSubList(
asList("a", "b", "c"), asList("e", "d", "c"));
assertThat(length, is(equalTo(1)));
}
@Test
public void shouldFindNoMatch() {
final int length = lengthOfTrailingPartialSubList(
asList("a", "b", "c"), asList("d", "e", "f"));
assertThat(length, is(equalTo(0)));
}
@Test
public void shouldFindNoMatchInEmptySource() {
final int length = lengthOfTrailingPartialSubList(
emptyList(), asList("a", "b", "c"));
assertThat(length, is(equalTo(0)));
}
@Test
public void shouldFindNoMatchInEmptyTarget() {
final int length = lengthOfTrailingPartialSubList(
asList("a", "b", "c"), emptyList());
assertThat(length, is(equalTo(0)));
}
}