]> gitweb.factorcode.org Git - factor.git/blob - basis/tools/walker/walker-tests.factor
Fix permission bits
[factor.git] / basis / tools / walker / walker-tests.factor
1 USING: tools.walker io io.streams.string kernel math
2 math.private namespaces prettyprint sequences tools.test
3 continuations math.parser threads arrays tools.walker.debug
4 generic.standard sequences.private kernel.private ;
5 IN: tools.walker.tests
6
7 [ { } ] [
8     [ ] test-walker
9 ] unit-test
10
11 [ { 1 } ] [
12     [ 1 ] test-walker
13 ] unit-test
14
15 [ { 1 2 3 } ] [
16     [ 1 2 3 ] test-walker
17 ] unit-test
18
19 [ { "Yo" 2 } ] [
20     [ 2 >r "Yo" r> ] test-walker
21 ] unit-test
22
23 [ { 2 } ] [
24     [ t [ 2 ] [ "hi" ] if ] test-walker
25 ] unit-test
26
27 [ { "hi" } ] [
28     [ f [ 2 ] [ "hi" ] if ] test-walker
29 ] unit-test
30
31 [ { 4 } ] [
32     [ 2 2 fixnum+ ] test-walker
33 ] unit-test
34
35 : foo 2 2 fixnum+ ;
36
37 [ { 8 } ] [
38     [ foo 4 fixnum+ ] test-walker
39 ] unit-test
40
41 [ { C{ 1 1.5 } { } C{ 1 1.5 } { } } ] [
42     [ C{ 1 1.5 } { } 2dup ] test-walker
43 ] unit-test
44
45 [ { t } ] [
46     [ 5 5 number= ] test-walker
47 ] unit-test
48
49 [ { f } ] [
50     [ 5 6 number= ] test-walker
51 ] unit-test
52
53 [ { 0 } ] [
54     [ 0 { array-capacity } declare ] test-walker
55 ] unit-test
56
57 [ { f } ] [
58     [ "XYZ" "XYZ" mismatch ] test-walker
59 ] unit-test
60
61 [ { t } ] [
62     [ "XYZ" "XYZ" sequence= ] test-walker
63 ] unit-test
64
65 [ { t } ] [
66     [ "XYZ" "XYZ" = ] test-walker
67 ] unit-test
68
69 [ { f } ] [
70     [ "XYZ" "XuZ" = ] test-walker
71 ] unit-test
72
73 [ { 4 } ] [
74     [ 2 2 + ] test-walker
75 ] unit-test
76
77 [ { 3 } ] [
78     [ [ 3 "x" set "x" get ] with-scope ] test-walker
79 ] unit-test
80
81 [ { "hi\n" } ] [
82     [ [ "hi" print ] with-string-writer ] test-walker
83 ] unit-test
84
85 [ { "4\n" } ] [
86     [ [ 2 2 + number>string print ] with-string-writer ] test-walker
87 ] unit-test
88                                                             
89 [ { 1 2 3 } ] [
90     [ { 1 2 3 } set-datastack ] test-walker
91 ] unit-test
92
93 [ { 6 } ]
94 [ [ 3 [ nip continue ] callcc0 2 * ] test-walker ] unit-test
95
96 [ { 6 } ]
97 [ [ [ 3 swap continue-with ] callcc1 2 * ] test-walker ] unit-test
98
99 [ { } ]
100 [ [ [ ] [ ] recover ] test-walker ] unit-test
101
102 [ { 6 } ]
103 [ [ [ 3 throw ] [ 2 * ] recover ] test-walker ] unit-test
104
105 [ { T{ no-method f + nth } } ]
106 [ [ [ 0 \ + nth ] [ ] recover ] test-walker ] unit-test
107
108 [ { } ] [
109     [ "a" "b" set "c" "d" set [ ] test-walker ] with-scope
110 ] unit-test