factor/library/test/combinators.factor

60 lines
1.3 KiB
Factor
Raw Normal View History

IN: temporary
2005-08-08 15:21:14 -04:00
USING: alien strings ;
2004-07-16 02:26:21 -04:00
USE: kernel
2004-09-24 23:22:44 -04:00
USE: math
2004-07-16 02:26:21 -04:00
USE: test
USE: io
2005-01-02 23:57:54 -05:00
USE: prettyprint
USE: namespaces
2004-07-16 02:26:21 -04:00
[ slip ] unit-test-fails
[ 1 slip ] unit-test-fails
[ 1 2 slip ] unit-test-fails
[ 1 2 3 slip ] unit-test-fails
[ 5 ] [ [ 2 2 + ] 1 slip + ] unit-test
2004-09-24 23:22:44 -04:00
[ [ ] keep ] unit-test-fails
[ 6 ] [ 2 [ sq ] keep + ] unit-test
2004-09-24 23:22:44 -04:00
2004-11-08 22:36:51 -05:00
[ [ ] 2keep ] unit-test-fails
[ 1 [ ] 2keep ] unit-test-fails
[ 3 1 2 ] [ 1 2 [ 2drop 3 ] 2keep ] unit-test
[ 0 ] [ f [ sq ] [ 0 ] ifte* ] unit-test
[ 4 ] [ 2 [ sq ] [ 0 ] ifte* ] unit-test
2004-09-24 23:22:44 -04:00
[ 0 ] [ f [ 0 ] unless* ] unit-test
[ t ] [ t [ "Hello" ] unless* ] unit-test
2005-01-02 23:57:54 -05:00
[ "2\n" ] [ [ 1 2 [ . ] [ sq . ] ?ifte ] string-out ] unit-test
[ "9\n" ] [ [ 3 f [ . ] [ sq . ] ?ifte ] string-out ] unit-test
[ [ 9 8 7 6 5 4 3 2 1 ] ]
[ [ 10 [ , ] [ 1 - dup dup 0 = [ drop f ] when ] while ] make-list nip ]
unit-test
2005-08-08 15:21:14 -04:00
[ "even" ] [
2 {
{ [ dup 2 mod 0 = ] [ drop "even" ] }
{ [ dup 2 mod 1 = ] [ drop "odd" ] }
} cond
] unit-test
[ "odd" ] [
3 {
{ [ dup 2 mod 0 = ] [ drop "even" ] }
{ [ dup 2 mod 1 = ] [ drop "odd" ] }
} cond
] unit-test
[ "neither" ] [
3 {
{ [ dup string? ] [ drop "string" ] }
{ [ dup float? ] [ drop "float" ] }
{ [ dup alien? ] [ drop "alien" ] }
{ [ t ] [ drop "neither" ] }
} cond
] unit-test