import org.junit.Test; public class ListPivotTest { private ListNode<Integer> expected; private ListNode<Integer> input; private int k; @Test public void pivot1() { expected = LinkedListUtil.createLinkedList(1); input = LinkedListUtil.createLinkedList(1); k = 0; test(expected, input, k); } @Test public void pivot2() { expected = LinkedListUtil.createLinkedList(1, 1, 1, 3, 3, 3, 2, 2, 2); input = LinkedListUtil.createLinkedList(3, 3, 3, 2, 2, 2, 1, 1, 1); k = 1; test(expected, input, k); } @Test public void pivot3() { expected = LinkedListUtil.createLinkedList(1, 1, 1, 2, 2, 2, 3, 3, 3); input = LinkedListUtil.createLinkedList(3, 3, 3, 2, 2, 2, 1, 1, 1); k = 2; test(expected, input, k); } @Test public void pivot4() { expected = LinkedListUtil.createLinkedList(3, 2, 2, 5, 7, 11, 11); input = LinkedListUtil.createLinkedList(3, 2, 2, 11, 7, 5, 11); k = 7; test(expected, input, k); } private void test(ListNode<Integer> expected, ListNode<Integer> input, int k) { LinkedListUtil.assertSameList(expected, ListPivot.pivot(input, k)); } }