]> gitweb.factorcode.org Git - factor.git/blob - basis/splitting/monotonic/monotonic-tests.factor
Using "same?" in more places.
[factor.git] / basis / splitting / monotonic / monotonic-tests.factor
1 IN: splitting.monotonic
2 USING: tools.test math arrays kernel sequences ;
3
4 { { } } [ { } [ < ] monotonic-split ] unit-test
5 [ { { 1 } { -1 5 } { 2 4 } } ]
6 [ { 1 -1 5 2 4 } [ < ] monotonic-split [ >array ] map ] unit-test
7 [ { { 1 1 1 1 } { 2 2 } { 3 } { 4 } { 5 } { 6 6 6 } } ]
8 [ { 1 1 1 1 2 2 3 4 5 6 6 6 } [ = ] monotonic-split [ >array ] map ] unit-test
9
10 [ { } ]
11 [ { } [ = ] slice monotonic-slice ] unit-test
12
13 [ t ]
14 [ { 1 } [ = ] slice monotonic-slice [ slice? ] all? ] unit-test
15
16 [ { { 1 } } ]
17 [ { 1 } [ = ] slice monotonic-slice [ >array ] map ] unit-test
18
19 [ { 1 } [ = ] slice monotonic-slice ] must-infer
20
21 [ t ]
22 [ { 1 1 1 2 2 3 3 4 } [ = ] slice monotonic-slice [ slice? ] all? ] unit-test
23
24 [ { { 1 1 1 } { 2 2 } { 3 3 } { 4 } } ]
25 [ { 1 1 1 2 2 3 3 4 } [ = ] slice monotonic-slice [ >array ] map ] unit-test
26
27 [ { { 3 3 } } ]
28 [ { 3 3 } [ = ] slice monotonic-slice [ >array ] map ] unit-test
29
30 [
31     {
32         T{ upward-slice { from 0 } { to 3 } { seq { 1 2 3 2 1 } } }
33         T{ downward-slice { from 2 } { to 5 } { seq { 1 2 3 2 1 } } }
34     }
35 ]
36 [ { 1 2 3 2 1 } trends ] unit-test
37
38 [
39     {
40         T{ upward-slice
41             { from 0 }
42             { to 3 }
43             { seq { 1 2 3 3 2 1 } }
44         }
45         T{ stable-slice
46             { from 2 }
47             { to 4 }
48             { seq { 1 2 3 3 2 1 } }
49         }
50         T{ downward-slice
51             { from 3 }
52             { to 6 }
53             { seq { 1 2 3 3 2 1 } }
54         }
55     }
56 ] [ { 1 2 3 3 2 1 } trends ] unit-test
57
58
59 [ { { 2 2 } { 3 3 3 3 } { 4 } { 5 } } ]
60 [
61     { 2 2 3 3 3 3 4 5 }
62     [ [ odd? ] same? ] slice monotonic-slice
63     [ >array ] map
64 ] unit-test
65
66 [
67     { { 1 1 1 } { 2 2 2 2 } { 3 3 } }
68 ] [
69     { 1 1 1 2 2 2 2 3 3 }
70     [ [ odd? ] same? ] slice monotonic-slice
71     [ >array ] map
72 ] unit-test