diff --git a/src/test/java/com/thealgorithms/datastructures/lists/MiddleOfLinkedListTest.java b/src/test/java/com/thealgorithms/datastructures/lists/MiddleOfLinkedListTest.java new file mode 100644 index 000000000000..70df1106e8a1 --- /dev/null +++ b/src/test/java/com/thealgorithms/datastructures/lists/MiddleOfLinkedListTest.java @@ -0,0 +1,52 @@ +package com.thealgorithms.datastructures.lists; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +public class MiddleOfLinkedListTest { + + @Test + void testMiddleNodeOddLength() { + MiddleOfLinkedList sol = new MiddleOfLinkedList(); + int[] values = {1, 2, 3, 4, 5}; + MiddleOfLinkedList.ListNode head = MiddleOfLinkedList.createList(values); + + MiddleOfLinkedList.ListNode middle = sol.middleNode(head); + + assertEquals(3, middle.val); + } + + @Test + void testMiddleNodeEvenLength() { + MiddleOfLinkedList sol = new MiddleOfLinkedList(); + int[] values = {1, 2, 3, 4, 5, 6}; + MiddleOfLinkedList.ListNode head = MiddleOfLinkedList.createList(values); + + MiddleOfLinkedList.ListNode middle = sol.middleNode(head); + + assertEquals(4, middle.val); + } + + @Test + void testMiddleNodeSingleElement() { + MiddleOfLinkedList sol = new MiddleOfLinkedList(); + int[] values = {1}; + MiddleOfLinkedList.ListNode head = MiddleOfLinkedList.createList(values); + + MiddleOfLinkedList.ListNode middle = sol.middleNode(head); + + assertEquals(1, middle.val); + } + + @Test + void testMiddleNodeEmptyList() { + MiddleOfLinkedList sol = new MiddleOfLinkedList(); + int[] values = {}; + MiddleOfLinkedList.ListNode head = MiddleOfLinkedList.createList(values); + + MiddleOfLinkedList.ListNode middle = sol.middleNode(head); + + assertNull(middle); + } +}