import org.junit.Test; public class DeleteNodeTest { private ListNode<Integer> expected; private ListNode<Integer> listToDeleteFrom; private ListNode<Integer> node; @Test public void deleteNode1() { node = new ListNode<>(10); expected = LinkedListUtil.createLinkedList(1, 2, 3, 4, 5); listToDeleteFrom = LinkedListUtil.createLinkedList(1, 2, 3, 4, 5); listToDeleteFrom.get(3).insertAfter(node); test(expected, listToDeleteFrom, node); } @Test public void deleteNode2() { node = new ListNode<>(10); node.insertAfter(new ListNode<>(1)); expected = LinkedListUtil.createLinkedList(1); listToDeleteFrom = node; test(expected, listToDeleteFrom, node); } private void test(ListNode<Integer> expected, ListNode<Integer> listToDeleteFrom, ListNode<Integer> node) { DeleteNode.deleteNode(node); LinkedListUtil.assertSameList(expected, listToDeleteFrom); } }