import static org.junit.Assert.*; import org.junit.Test; public class TwistListTest { @Test public void testAdd() { TwistList<String> l1 = new TwistList<>(); l1.add("D"); l1.add("C"); l1.add("B"); l1.add("A"); assertEquals(l1.get(0), "A"); assertEquals(l1.get(1), "B"); assertEquals(l1.get(2), "C"); assertEquals(l1.get(3), "D"); } @Test public void testAdd2() { TwistList<String> l1 = new TwistList<>(); l1.add("D"); l1.add("C"); l1.add("B"); l1.add("A"); l1.add("C"); assertEquals(l1.get(0), "A"); assertEquals(l1.get(1), "B"); assertEquals(l1.get(2), "C"); assertEquals(l1.get(3), "C"); assertEquals(l1.get(4), "D"); } @Test public void reverseTest() { TwistList<String> l1 = new TwistList<>(); l1.add("D"); l1.add("C"); l1.add("B"); l1.add("A"); l1.add("C"); l1.reverse(0, 3); } @Test public void reverseTest2() { TwistList<String> l1 = new TwistList<>(); l1.add("D"); l1.reverse(0, 0); } @Test public void reverseTest3() { TwistList<String> l1 = new TwistList<>(); l1.add("A"); l1.add("A"); l1.reverse(0, 1); } @Test(expected=IndexOutOfBoundsException.class) public void reverseTest4() { TwistList<String> l1 = new TwistList<>(); l1.add("A"); l1.add("A"); l1.reverse(0, 2); } @Test public void flipflopTest() { TwistList<Integer> l1 = new TwistList<>(); l1.add(5); l1.add(4); l1.add(3); l1.add(6); l1.add(2); l1.flipFlop(1); // 45623 } @Test public void flipflopTest2() { TwistList<Integer> l1 = new TwistList<>(); l1.add(1); l1.add(2); l1.flipFlop(0); // 21 } @Test public void swingTest() { TwistList<Integer> l1 = new TwistList<>(); l1.add(1); l1.add(2); l1.add(3); l1.add(4); // l1.printList(); l1.swing(1); // l1.printList(); // 1234 -> 2143 } @Test public void swingTest2() { TwistList<Integer> l1 = new TwistList<>(); l1.add(1); l1.add(2); l1.add(3); l1.add(4); // l1.printList(); l1.swing(1); // l1.printList(); // 1234 -> 2143 } }