]> gitweb.factorcode.org Git - factor.git/blob - extra/combinators/short-circuit/short-circuit-tests.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / combinators / short-circuit / short-circuit-tests.factor
1
2 USING: kernel math tools.test combinators.short-circuit ;
3
4 IN: combinators.short-circuit.tests
5
6 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7
8 : must-be-t ( in -- ) [ t ] swap unit-test ;
9 : must-be-f ( in -- ) [ f ] swap unit-test ;
10
11 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
13 [       { [ 1 ] [ 2 ] [ 3 ] }           0&&  3 = ] must-be-t
14 [ 3     { [ 0 > ] [ odd? ] [ 2 + ] }    1&&  5 = ] must-be-t
15 [ 10 20 { [ + 0 > ] [ - even? ] [ + ] } 2&& 30 = ] must-be-t
16
17 [       { [ 1 ] [ f ] [ 3 ] } 0&&  3 = ]          must-be-f
18 [ 3     { [ 0 > ] [ even? ] [ 2 + ] } 1&& ]       must-be-f
19 [ 10 20 { [ + 0 > ] [ - odd? ] [ + ] } 2&& 30 = ] must-be-f
20
21 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
22
23 [ { [ 10 0 < ] [ f ] [ "factor" ] } 0|| "factor" = ] must-be-t
24
25 [ 10 { [ odd? ] [ 100 > ] [ 1 + ] } 1|| 11 = ]       must-be-t
26
27 [ 10 20 { [ + odd? ] [ + 100 > ] [ + ] } 2|| 30 = ]  must-be-t
28
29 [ { [ 10 0 < ] [ f ] [ 0 1 = ] } 0|| ] must-be-f
30
31 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32