|
| 1 | +package fj.data.vector; |
| 2 | + |
| 3 | +import fj.P; |
| 4 | +import fj.P2; |
| 5 | +import fj.P3; |
| 6 | +import fj.P4; |
| 7 | +import fj.P5; |
| 8 | +import fj.P6; |
| 9 | +import fj.P7; |
| 10 | +import fj.P8; |
| 11 | +import fj.data.Array; |
| 12 | +import org.junit.Test; |
| 13 | + |
| 14 | +import static org.hamcrest.CoreMatchers.is; |
| 15 | +import static org.junit.Assert.assertThat; |
| 16 | + |
| 17 | +public class VTest { |
| 18 | + @Test |
| 19 | + public void testVectorUp(){ |
| 20 | + final P2<Integer, Integer> p2 = P.p(2, 1); |
| 21 | + final V2<Integer> v2 = V2.p(p2); |
| 22 | + final V3<Integer> v3 = V3.cons(P.p(3), v2); |
| 23 | + final V4<Integer> v4 = V4.cons(P.p(4), v3); |
| 24 | + final V5<Integer> v5 = V5.cons(P.p(5), v4); |
| 25 | + final V6<Integer> v6 = V6.cons(P.p(6), v5); |
| 26 | + final V7<Integer> v7 = V7.cons(P.p(7), v6); |
| 27 | + final V8<Integer> v8 = V8.cons(P.p(8), v7); |
| 28 | + assertThat(v8.toArray(), is(Array.range(1, 9).reverse())); |
| 29 | + } |
| 30 | + |
| 31 | + @Test |
| 32 | + public void testVectorP(){ |
| 33 | + final P2<Integer, Integer> p2 = P.p(1, 2); |
| 34 | + final V2<Integer> v2 = V2.p(p2); |
| 35 | + assertThat(v2.toArray(), is(Array.range(1, 3))); |
| 36 | + assertThat(v2.p(), is(p2)); |
| 37 | + final P3<Integer, Integer, Integer> p3 = p2.append(3); |
| 38 | + final V3<Integer> v3 = V3.p(p3); |
| 39 | + assertThat(v3.toArray(), is(Array.range(1, 4))); |
| 40 | + assertThat(v3.p(), is(p3)); |
| 41 | + final P4<Integer, Integer, Integer, Integer> p4 = p3.append(4); |
| 42 | + final V4<Integer> v4 = V4.p(p4); |
| 43 | + assertThat(v4.toArray(), is(Array.range(1, 5))); |
| 44 | + assertThat(v4.p(), is(p4)); |
| 45 | + final P5<Integer, Integer, Integer, Integer, Integer> p5 = p4.append(5); |
| 46 | + final V5<Integer> v5 = V5.p(p5); |
| 47 | + assertThat(v5.toArray(), is(Array.range(1, 6))); |
| 48 | + assertThat(v5.p(), is(p5)); |
| 49 | + final P6<Integer, Integer, Integer, Integer, Integer, Integer> p6 = p5.append(6); |
| 50 | + final V6<Integer> v6 = V6.p(p6); |
| 51 | + assertThat(v6.toArray(), is(Array.range(1, 7))); |
| 52 | + assertThat(v6.p(), is(p6)); |
| 53 | + final P7<Integer, Integer, Integer, Integer, Integer, Integer, Integer> p7 = p6.append(7); |
| 54 | + final V7<Integer> v7 = V7.p(p7); |
| 55 | + assertThat(v7.toArray(), is(Array.range(1, 8))); |
| 56 | + assertThat(v7.p(), is(p7)); |
| 57 | + final P8<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> p8 = p7.append(8); |
| 58 | + final V8<Integer> v8 = V8.p(p8); |
| 59 | + assertThat(v8.toArray(), is(Array.range(1, 9))); |
| 60 | + assertThat(v8.p(), is(p8)); |
| 61 | + } |
| 62 | +} |
0 commit comments