|
|
@@ -7,12 +7,15 @@
|
|
|
package net.ranides.assira.collection.lists;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+import java.util.ListIterator;
|
|
|
import net.ranides.assira.ContractTesters;
|
|
|
import net.ranides.assira.collection.mockup.TMaps;
|
|
|
import net.ranides.assira.collection.mockup.TPoint;
|
|
|
import net.ranides.assira.test.TCollection;
|
|
|
+import org.junit.Ignore;
|
|
|
import org.junit.Test;
|
|
|
-import static org.junit.Assert.*;
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
@@ -24,22 +27,7 @@ public class JoinListTest {
|
|
|
|
|
|
@Test
|
|
|
public void testContract() {
|
|
|
- // @todo (assira #0) JoinList: test
|
|
|
-
|
|
|
- // to jest naprawdę na chama...
|
|
|
ContractTesters.runner()
|
|
|
- .ignore("ListTester.basicIterator")
|
|
|
- .ignore("ListTester.basicIteratorFrom")
|
|
|
- .ignore("ListTester.basicLastIndexOf")
|
|
|
-
|
|
|
- .ignore("ListTester.basicSublist")
|
|
|
- .ignore("ListTester.basicSublist_add")
|
|
|
- .ignore("ListTester.basicSublist_addAll")
|
|
|
- .ignore("ListTester.basicSublist_clear")
|
|
|
- .ignore("ListTester.basicSublist_indexOf")
|
|
|
- .ignore("ListTester.basicSublist_lastIndexOf")
|
|
|
- .ignore("ListTester.basicSublist_set")
|
|
|
-
|
|
|
.param("collection!", $var)
|
|
|
.function(new int[0], array -> {
|
|
|
JoinList<TPoint> ret = new JoinList<>();
|
|
|
@@ -47,6 +35,49 @@ public class JoinListTest {
|
|
|
return ret;
|
|
|
})
|
|
|
.run();
|
|
|
+
|
|
|
+ ContractTesters.runner()
|
|
|
+ .param("collection!", $var)
|
|
|
+ .function(new int[0], array -> {
|
|
|
+ TPoint[] src = $var.list(array).values();
|
|
|
+ JoinList<TPoint> ret = new JoinList<>();
|
|
|
+
|
|
|
+ List<TPoint> now = new ArrayList<>();
|
|
|
+ for(int i=0; i<src.length; i++) {
|
|
|
+ now.add(src[i]);
|
|
|
+ if(4 == i % 5) {
|
|
|
+ ret.join(now);
|
|
|
+ now = new ArrayList<>();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ret.join(now);
|
|
|
+ return ret;
|
|
|
+ })
|
|
|
+ .run();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testIterator() {
|
|
|
+ JoinList<Integer> list = new JoinList<>();
|
|
|
+ list.join(Arrays.asList(1,2,3));
|
|
|
+ list.join(Arrays.asList(4,5,6,7));
|
|
|
+ list.join(Arrays.asList(8,9,10));
|
|
|
+ list.join(Arrays.asList(11));
|
|
|
+
|
|
|
+ ListIterator<Integer> i = list.listIterator(11);
|
|
|
+ int c = 11;
|
|
|
+ while(i.hasPrevious()) {
|
|
|
+ c--;
|
|
|
+ Integer v = i.previous();
|
|
|
+ int pi = i.previousIndex();
|
|
|
+ int ni = i.nextIndex();
|
|
|
+
|
|
|
+ System.out.printf("%d[%d] = %d->%d%n", v, c, pi, ni);
|
|
|
+ }
|
|
|
+ System.out.printf("p = %s%n", i.hasPrevious());
|
|
|
+ System.out.printf("n = %s%n", i.hasNext());
|
|
|
+ System.out.printf("p = %s%n", i.hasPrevious());
|
|
|
+ System.out.printf("n = %s%n", i.hasNext());
|
|
|
}
|
|
|
|
|
|
}
|