]> gitweb.factorcode.org Git - factor.git/blob - basis/fry/fry-tests.factor
6d6abba23c7cb02bc57b7ce10d2de96a242b623b
[factor.git] / basis / fry / fry-tests.factor
1 IN: fry.tests
2 USING: fry tools.test math prettyprint kernel io arrays
3 sequences ;
4
5 [ [ 3 + ] ] [ 3 '[ , + ] ] unit-test
6
7 [ [ 1 3 + ] ] [ 1 3 '[ , , + ] ] unit-test
8
9 [ [ 1 + ] ] [ 1 [ + ] '[ , @ ] ] unit-test
10
11 [ [ 1 + . ] ] [ 1 [ + ] '[ , @ . ] ] unit-test
12
13 [ [ + - ] ] [ [ + ] [ - ] '[ @ @ ] ] unit-test
14
15 [ [ "a" write "b" print ] ]
16 [ "a" "b" '[ , write , print ] ] unit-test
17
18 [ [ 1 2 + 3 4 - ] ]
19 [ [ + ] [ - ] '[ 1 2 @ 3 4 @ ] ] unit-test
20
21 [ 1/2 ] [
22     1 '[ , _ / ] 2 swap call
23 ] unit-test
24
25 [ { { 1 "a" "A" } { 1 "b" "B" } { 1 "c" "C" } } ] [
26     1 '[ , _ _ 3array ]
27     { "a" "b" "c" } { "A" "B" "C" } rot 2map
28 ] unit-test
29
30 [ { { 1 "a" } { 1 "b" } { 1 "c" } } ] [
31     '[ 1 _ 2array ]
32     { "a" "b" "c" } swap map
33 ] unit-test
34
35 [ 1 2 ] [
36     1 2 '[ _ , ] call
37 ] unit-test
38
39 [ { { 1 "a" 2 } { 1 "b" 2 } { 1 "c" 2 } } ] [
40     1 2 '[ , _ , 3array ]
41     { "a" "b" "c" } swap map
42 ] unit-test
43
44 : funny-dip '[ @ _ ] call ; inline
45
46 [ "hi" 3 ] [ "h" "i" 3 [ append ] funny-dip ] unit-test
47
48 [ { 1 2 3 } ] [
49     3 1 '[ , [ , + ] map ] call
50 ] unit-test
51
52 [ { 1 { 2 { 3 } } } ] [
53     1 2 3 '[ , [ , [ , 1array ] call 2array ] call 2array ] call
54 ] unit-test
55
56 { 1 1 } [ '[ [ [ , ] ] ] ] must-infer-as
57
58 [ { { { 3 } } } ] [
59     3 '[ [ [ , 1array ] call 1array ] call 1array ] call
60 ] unit-test
61
62 [ { { { 3 } } } ] [
63     3 '[ [ [ , 1array ] call 1array ] call 1array ] call
64 ] unit-test