import org.junit.Test;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
public class TestCyclicityTest {
private ListNode<Integer> cycleNode;
private ListNode<Integer> list;
@Test
public void isCyclic1() {
list = LinkedListUtil.createLinkedList(1, 2, 3, 4, 5);
cycleNode = null;
test(cycleNode, list);
}
@Test
public void isCyclic2() {
list = LinkedListUtil.createLinkedList(1, 2, 3, 4, 5);
cycleNode = list.get(5);
cycleNode.next = list.get(3);
test(cycleNode, list);
}
@Test
public void isCyclic3() {
list = LinkedListUtil.createLinkedList(1, 2, 3, 4, 5);
cycleNode = list.get(5);
cycleNode.next = list;
test(cycleNode, list);
}
private void test(ListNode<Integer> cycleNode, ListNode<Integer> list) {
if (cycleNode == null)
assertNull(TestCyclicity.isCyclic(list));
else
assertTrue(TestCyclicity.isCyclic(list).equals(cycleNode.next));
}
}