2020 */
2121public class FingerTreeTest {
2222
23+ public static final int SIZE = 10 ;
24+
2325 @ Test
2426 public void size () {
2527 validateSize (List .list (-92 , 68 , 54 , -77 , -18 , 67 ));
@@ -36,68 +38,46 @@ void validateSize(List<Integer> list) {
3638
3739 public FingerTree <Integer , Integer > midSeq () {
3840 FingerTree <Integer , Integer > ft = FingerTree .emptyIntAddition ();
39- // out.println(ft.toString());
40- return List .range (1 , 10 ).foldLeft (ft2 -> i -> {
41- FingerTree <Integer , Integer > ft3 = ft2 .snoc (i );
42- // out.println(ft3.toString());
43- return ft3 ;
44- }, ft );
41+ return List .range (1 , SIZE ).foldLeft (ft2 -> i -> ft2 .snoc (i ), ft );
4542 }
4643
47-
48-
4944 @ Test
5045 public void testSeqString () {
51- // FingerTree<Integer, Integer> ft = FingerTree.emptyIntAddition();
52- // out.println(ft.toString());
5346 String actual = midSeq ().toString ();
5447 String expected = "Deep(9 -> One(1 -> 1), Deep(6 -> One(3 -> Node3(3 -> V3(2,3,4))), Empty(), One(3 -> Node3(3 -> V3(5,6,7)))), Two(2 -> V2(8,9)))" ;
5548 assertThat (actual , equalTo (expected ));
5649 }
5750
5851 public FingerTree <Integer , P2 <Integer , Integer >> midPriorityQueue () {
5952 FingerTree <Integer , P2 <Integer , Integer >> ft = FingerTree .emptyIntMax ();
60- // out.println(ft.toString());
61- return List .range (1 , 10 ).foldLeft (ft2 -> i -> {
53+ return List .range (1 , SIZE ).foldLeft (ft2 -> i -> {
6254 int j = i % 2 == 0 ? 2 * i : i ;
6355 FingerTree <Integer , P2 <Integer , Integer >> ft3 = ft2 .snoc (P .p (j , j ));
64- // out.println(ft3.toString());
6556 return ft3 ;
6657 }, ft );
6758 }
6859
6960 @ Test
7061 public void testQueueString () {
71- // FingerTree<Integer, P2<Integer, Integer>> ft = FingerTree.emptyIntMax();
72- // out.println(ft.toString());
7362 String actual = midPriorityQueue ().toString ();
7463 String expected = "Deep(16 -> One(1 -> (1,1)), Deep(12 -> One(8 -> Node3(8 -> V3((4,4),(3,3),(8,8)))), Empty(), One(12 -> Node3(12 -> V3((5,5),(12,12),(7,7))))), Two(16 -> V2((16,16),(9,9))))" ;
7564 assertThat (actual , equalTo (expected ));
76-
7765 }
7866
7967 @ Test
8068 public void stream () {
8169 FingerTree <Integer , Integer > ft = midSeq ();
82- out .println (ft );
83- Stream <Integer > s = ft .toStream ();
84- System .out .println (s .toList ());
85-
86- out .println (midPriorityQueue ());
87- out .println (midPriorityQueue ().toStream ().toList ());
70+ assertThat (ft .toStream ().toList (), equalTo (List .range (1 , SIZE )));
8871 }
8972
9073 @ Test
9174 public void split () {
92-
75+ int splitPoint = 3 ;
9376 FingerTree <Integer , Integer > ft = FingerTree .emptyIntAddition ();
94- FingerTree <Integer , Integer > ft3 = List .range (1 , 10 ).foldLeft (ft2 -> i -> ft2 .snoc (i ), ft );
95- P2 <FingerTree <Integer , Integer >, FingerTree <Integer , Integer >> p = ft3 .split (v -> v >= 3 );
96- Show <FingerTree <Integer , Integer >> fts = Show .fingerTreeShow (intShow , intShow );
97- Show <P2 <FingerTree <Integer , Integer >, FingerTree <Integer , Integer >>> s = Show .p2Show (fts , fts );
98- System .out .println (s .showS (p ));
99- System .out .println (p );
100-
77+ FingerTree <Integer , Integer > ft3 = List .range (1 , SIZE ).foldLeft (ft2 -> i -> ft2 .snoc (i ), ft );
78+ P2 <FingerTree <Integer , Integer >, FingerTree <Integer , Integer >> p = ft3 .split (v -> v >= splitPoint );
79+ assertThat (p ._1 ().toStream ().toList (), equalTo (List .range (1 , splitPoint )));
80+ assertThat (p ._2 ().toStream ().toList (), equalTo (List .range (splitPoint , SIZE )));
10181
10282 }
10383
0 commit comments