]> gitweb.factorcode.org Git - factor.git/blob - extra/sequences/extras/extras-tests.factor
sequences.extras: adding a version of filter that uses an elements index.
[factor.git] / extra / sequences / extras / extras-tests.factor
1 USING: kernel make math sequences sequences.extras tools.test ;
2
3 IN: sequences.extras.tests
4
5 [ 1 ] [ 1 2 [ ] min-by ] unit-test
6 [ 2 ] [ 1 2 [ ] max-by ] unit-test
7 [ "12345" ] [ "123" "12345" [ length ] max-by ] unit-test
8 [ "123" ] [ "123" "12345" [ length ] min-by ] unit-test
9
10 [ 4 ] [ 5 iota [ ] maximum ] unit-test
11 [ 0 ] [ 5 iota [ ] minimum ] unit-test
12 [ { "foo" } ] [ { { "foo" } { "bar" } } [ first ] maximum ] unit-test
13 [ { "bar" } ] [ { { "foo" } { "bar" } } [ first ] minimum ] unit-test
14
15 [ { "a" "b" "c" "d" "ab" "bc" "cd" "abc" "bcd" "abcd" } ] [ "abcd" all-subseqs ] unit-test
16
17 [ { "a" "ab" "abc" "abcd" "b" "bc" "bcd" "c" "cd" "d" } ]
18 [ [ "abcd" [ , ] each-subseq ] { } make ] unit-test
19
20 [ "" ] [ "abc" "def" longest-subseq ] unit-test
21 [ "abcd" ] [ "abcd" "abcde" longest-subseq ] unit-test
22 [ "foo" ] [ "foo" "foobar" longest-subseq ] unit-test
23 [ "foo" ] [ "foobar" "foo" longest-subseq ] unit-test
24
25 [ "" "" ] [ "" "" CHAR: ? pad-longest ] unit-test
26 [ "abc" "def" ] [ "abc" "def" CHAR: ? pad-longest ] unit-test
27 [ "   " "abc" ] [ "" "abc" CHAR: \s pad-longest ] unit-test
28 [ "abc" "   " ] [ "abc" "" CHAR: \s pad-longest ] unit-test
29 [ "abc..." "foobar" ] [ "abc" "foobar" CHAR: . pad-longest ] unit-test
30
31 [ { 0 1 0 1 } ] [
32     { 0 0 0 0 } { 1 3 } over [ 1 + ] change-nths
33 ] unit-test
34
35 [ { 1 3 5 } ] [ { 1 2 3 4 5 6 } [ nip even? ] filter-index ] unit-test