import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class ExtendSolutionFourTest {
@Test
public void test() {
MyNode head = createLinkedList(new int[] {1, 2, 3, 4, 5, 6});
ExtendSolutionFour.printResult(head);
head = ExtendSolutionFour.reverse(head);
ExtendSolutionFour.printResult(head);
MyNode current = head;
assertEquals(6, current.value);
current = current.next;
assertEquals(5, current.value);
current = current.next;
assertEquals(4, current.value);
current = current.next;
assertEquals(3, current.value);
current = current.next;
assertEquals(2, current.value);
current = current.next;
assertEquals(1, current.value);
current = current.next;
assertEquals(null, current);
}
@Test
public void test1() {
MyNode head = createLinkedList(new int[] {1});
ExtendSolutionFour.printResult(head);
head = ExtendSolutionFour.reverse(head);
ExtendSolutionFour.printResult(head);
MyNode current = head;
assertEquals(1, current.value);
current = current.next;
assertEquals(null, current);
}
@Test
public void testNull() {
MyNode head = new MyNode(0, null);
ExtendSolutionFour.printResult(head);
head = ExtendSolutionFour.reverse(head);
ExtendSolutionFour.printResult(head);
MyNode current = head;
assertEquals(0, current.value);
assertEquals(null, current.next);
ExtendSolutionFour.printResult(null);
head = ExtendSolutionFour.reverse(null);
ExtendSolutionFour.printResult(null);
assertEquals(null, head);
}
public static MyNode createLinkedList(int[] values) {
MyNode head = new MyNode(values[0], null);
MyNode current = head;
for(int i = 1; i < values.length; i++) {
current.next = new MyNode(values[i], null);
current = current.next;
}
return head;
}
}