22
33import static org .junit .Assert .assertEquals ;
44
5+ import java .util .LinkedList ;
6+
57import org .junit .Test ;
68
79public class MiddleElementLookupUnitTest {
810
911 @ Test
10- public void whenFindingMiddle_thenMiddleFound () {
11- String middle = MiddleElementLookup .findMiddleElement (createList (5 ).head ());
12- assertEquals ("3" , middle );
13-
14- middle = MiddleElementLookup .findMiddleElement (createList (4 ).head ());
15- assertEquals ("2" , middle );
12+ public void whenFindingMiddleLinkedList_thenMiddleFound () {
13+ assertEquals ("3" , MiddleElementLookup .findMiddleElementLinkedList (createLinkedList (5 )));
14+ assertEquals ("2" , MiddleElementLookup .findMiddleElementLinkedList (createLinkedList (4 )));
1615 }
1716
1817 @ Test
19- public void whenFindingMiddle1PassRecursively_thenMiddleFound () {
20- String middle = MiddleElementLookup .findMiddleElement1PassRecursively (createList (5 ).head ());
21- assertEquals ("3" , middle );
22-
23- middle = MiddleElementLookup .findMiddleElement1PassRecursively (createList (4 ).head ());
24- assertEquals ("2" , middle );
18+ public void whenFindingMiddleFromHead_thenMiddleFound () {
19+ assertEquals ("3" , MiddleElementLookup .findMiddleElementFromHead (createNodesList (5 )));
20+ assertEquals ("2" , MiddleElementLookup .findMiddleElementFromHead (createNodesList (4 )));
2521 }
2622
2723 @ Test
28- public void whenFindingMiddle1PassIteratively_thenMiddleFound () {
29- String middle = MiddleElementLookup .findMiddleElement1PassIteratively (createList (5 ).head ());
30- assertEquals ("3" , middle );
24+ public void whenFindingMiddleFromHead1PassRecursively_thenMiddleFound () {
25+ assertEquals ("3" , MiddleElementLookup .findMiddleElementFromHead1PassRecursively (createNodesList (5 )));
26+ assertEquals ("2" , MiddleElementLookup .findMiddleElementFromHead1PassRecursively (createNodesList (4 )));
27+ }
3128
32- middle = MiddleElementLookup .findMiddleElement1PassIteratively (createList (4 ).head ());
33- assertEquals ("2" , middle );
29+ @ Test
30+ public void whenFindingMiddleFromHead1PassIteratively_thenMiddleFound () {
31+ assertEquals ("3" , MiddleElementLookup .findMiddleElementFromHead1PassIteratively (createNodesList (5 )));
32+ assertEquals ("2" , MiddleElementLookup .findMiddleElementFromHead1PassIteratively (createNodesList (4 )));
3433 }
3534
3635 @ Test
3736 public void whenListEmptyOrNull_thenMiddleNull () {
38- String middle = MiddleElementLookup .findMiddleElement (null );
39- assertEquals (null , middle );
40-
41- middle = MiddleElementLookup .findMiddleElement1PassIteratively (null );
42- assertEquals (null , middle );
43-
44- middle = MiddleElementLookup .findMiddleElement1PassRecursively (null );
45- assertEquals (null , middle );
37+ assertEquals (null , MiddleElementLookup .findMiddleElementLinkedList (null ));
38+ assertEquals (null , MiddleElementLookup .findMiddleElementFromHead (null ));
39+ assertEquals (null , MiddleElementLookup .findMiddleElementFromHead1PassIteratively (null ));
40+ assertEquals (null , MiddleElementLookup .findMiddleElementFromHead1PassRecursively (null ));
4641 }
4742
48- private static LinkedList createList (int n ) {
49- LinkedList list = new LinkedList ();
43+ private static LinkedList < String > createLinkedList (int n ) {
44+ LinkedList < String > list = new LinkedList <> ();
5045
5146 for (int i = 1 ; i <= n ; i ++) {
5247 list .add (String .valueOf (i ));
@@ -55,4 +50,17 @@ private static LinkedList createList(int n) {
5550 return list ;
5651 }
5752
53+ private static Node createNodesList (int n ) {
54+ Node head = new Node ("1" );
55+ Node current = head ;
56+
57+ for (int i = 2 ; i <= n ; i ++) {
58+ Node newNode = new Node (String .valueOf (i ));
59+ current .setNext (newNode );
60+ current = newNode ;
61+ }
62+
63+ return head ;
64+ }
65+
5866}
0 commit comments