11package com .thealgorithms .datastructures .lists ;
22
33import static org .junit .jupiter .api .Assertions .assertEquals ;
4- import static org .junit .jupiter .api .Assertions .assertNotNull ;
54import static org .junit .jupiter .api .Assertions .assertNull ;
65
6+ import java .util .Objects ;
77import org .junit .jupiter .api .Test ;
88
99public class MiddleOfLinkedListTest {
1010
11- private static SinglyLinkedListNode listOf (int ... values ) {
12- if (values == null || values .length == 0 ) {
13- return null ;
14- }
15-
16- SinglyLinkedListNode head = new SinglyLinkedListNode (values [0 ]);
11+ private static SinglyLinkedListNode listOf (int firstValue , int ... remainingValues ) {
12+ SinglyLinkedListNode head = new SinglyLinkedListNode (firstValue );
1713 SinglyLinkedListNode current = head ;
18- for (int i = 1 ; i < values .length ; i ++) {
19- current .next = new SinglyLinkedListNode (values [i ]);
14+
15+ for (int i = 0 ; i < remainingValues .length ; i ++) {
16+ current .next = new SinglyLinkedListNode (remainingValues [i ]);
2017 current = current .next ;
2118 }
2219 return head ;
@@ -25,32 +22,28 @@ private static SinglyLinkedListNode listOf(int... values) {
2522 @ Test
2623 void middleNodeOddLength () {
2724 SinglyLinkedListNode head = listOf (1 , 2 , 3 , 4 , 5 );
28- SinglyLinkedListNode middle = MiddleOfLinkedList .middleNode (head );
29- assertNotNull (middle );
25+ SinglyLinkedListNode middle = Objects .requireNonNull (MiddleOfLinkedList .middleNode (head ));
3026 assertEquals (3 , middle .value );
3127 }
3228
3329 @ Test
3430 void middleNodeEvenLengthReturnsSecondMiddle () {
3531 SinglyLinkedListNode head = listOf (1 , 2 , 3 , 4 , 5 , 6 );
36- SinglyLinkedListNode middle = MiddleOfLinkedList .middleNode (head );
37- assertNotNull (middle );
32+ SinglyLinkedListNode middle = Objects .requireNonNull (MiddleOfLinkedList .middleNode (head ));
3833 assertEquals (4 , middle .value );
3934 }
4035
4136 @ Test
4237 void middleNodeSingleElement () {
4338 SinglyLinkedListNode head = listOf (42 );
44- SinglyLinkedListNode middle = MiddleOfLinkedList .middleNode (head );
45- assertNotNull (middle );
39+ SinglyLinkedListNode middle = Objects .requireNonNull (MiddleOfLinkedList .middleNode (head ));
4640 assertEquals (42 , middle .value );
4741 }
4842
4943 @ Test
5044 void middleNodeTwoElementsReturnsSecond () {
5145 SinglyLinkedListNode head = listOf (10 , 20 );
52- SinglyLinkedListNode middle = MiddleOfLinkedList .middleNode (head );
53- assertNotNull (middle );
46+ SinglyLinkedListNode middle = Objects .requireNonNull (MiddleOfLinkedList .middleNode (head ));
5447 assertEquals (20 , middle .value );
5548 }
5649
@@ -70,8 +63,7 @@ void middleNodeDoesNotModifyListStructure() {
7063 second .next = third ;
7164 third .next = fourth ;
7265
73- SinglyLinkedListNode middle = MiddleOfLinkedList .middleNode (first );
74- assertNotNull (middle );
66+ SinglyLinkedListNode middle = Objects .requireNonNull (MiddleOfLinkedList .middleNode (first ));
7567 assertEquals (3 , middle .value );
7668
7769 assertEquals (second , first .next );
0 commit comments