import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestForOverlappingListsTest {
private ListNode<Integer> overlap;
private ListNode<Integer> list1;
private ListNode<Integer> list2;
@Test
public void doListsOverlap1() {
list1 = LinkedListUtil.createLinkedList(1);
list2 = LinkedListUtil.createLinkedList(2);
overlap = null;
test(overlap, list1, list2);
}
@Test
public void doListsOverlap2() {
list1 = null;
list2 = null;
overlap = null;
test(overlap, list1, list2);
}
@Test
public void doListsOverlap3() {
list1 = LinkedListUtil.createLinkedList(1, 2, 3);
list2 = LinkedListUtil.createLinkedList(4, 5, 6);
overlap = null;
test(overlap, list1, list2);
}
@Test
public void doListsOverlap4() {
list1 = LinkedListUtil.createLinkedList(1, 2);
list2 = LinkedListUtil.createLinkedList(1, 2, 3, 4, 5);
overlap = list1.get(2).next = list2.get(3);
test(overlap, list1, list2);
}
@Test
public void doListsOverlap5() {
list1 = LinkedListUtil.createLinkedList(1, 2);
list2 = LinkedListUtil.createLinkedList(2, 3, 4, 5);
overlap = list1.get(2).next = list2.get(2);
test(overlap, list1, list2);
}
@Test
public void doListsOverlap6() {
list1 = LinkedListUtil.createLinkedList(2);
list2 = LinkedListUtil.createLinkedList(1, 2, 3, 4, 5);
overlap = list1.get(1).next = list2.get(3);
test(overlap, list1, list2);
}
private void test(ListNode<Integer> overlap, ListNode<Integer> list1, ListNode<Integer> list2) {
assertEquals(overlap, TestForOverlappingLists.doListsOverlap(list1, list2));
}
}