]> gitweb.factorcode.org Git - factor.git/blob - core/sorting/sorting-tests.factor
core: Rename iota to <iota> so we can have TUPLE: iota ... ; instead of TUPLE: iota...
[factor.git] / core / sorting / sorting-tests.factor
1 USING: grouping kernel math math.order random sequences sets
2 sorting tools.test vocabs ;
3
4 { { } } [ { } natural-sort ] unit-test
5
6 { { 270000000 270000001 } }
7 [ T{ slice f 270000000 270000002 T{ iota f 270000002 } } natural-sort ]
8 unit-test
9
10 { t } [
11     100 [
12         drop
13         100 [ 20 random [ 1000 random ] replicate ] replicate
14         dup natural-sort
15         [ set= ] [ nip [ before=? ] monotonic? ] 2bi and
16     ] all-integers?
17 ] unit-test
18
19 { } [ { 1 2 } [ 2drop 1 ] sort drop ] unit-test
20
21 ! Is it a stable sort?
22 { t } [ { { 1 "a" } { 1 "b" } { 1 "c" } } dup sort-keys = ] unit-test
23
24 { { { 1 "a" } { 1 "b" } { 1 "c" } { 1 "e" } { 2 "d" } } }
25 [ { { 1 "a" } { 1 "b" } { 1 "c" } { 2 "d" } { 1 "e" } } sort-keys ] unit-test
26
27 { } [ all-words natural-sort drop ] unit-test