2010-03-05 16:30:10 -05:00
|
|
|
USING: effects effects.parser eval kernel tools.test prettyprint accessors
|
2009-09-01 15:39:22 -04:00
|
|
|
quotations sequences ;
|
2009-08-13 20:21:44 -04:00
|
|
|
IN: effects.tests
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2010-01-14 10:10:13 -05:00
|
|
|
[ t ] [ { "a" } { "a" } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
|
|
|
|
[ f ] [ { "a" } { } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
|
|
|
|
[ t ] [ { "a" "b" } { "a" "b" } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
|
|
|
|
[ f ] [ { "a" "b" "c" } { "a" "b" "c" } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
|
|
|
|
[ f ] [ { "a" "b" } { "a" "b" "c" } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
|
2008-06-08 17:47:20 -04:00
|
|
|
[ 2 ] [ (( a b -- c )) in>> length ] unit-test
|
|
|
|
[ 1 ] [ (( a b -- c )) out>> length ] unit-test
|
2008-06-09 03:14:14 -04:00
|
|
|
|
2010-03-11 04:37:33 -05:00
|
|
|
[ t ] [ (( a b -- c )) (( ... a b -- ... c )) effect<= ] unit-test
|
|
|
|
[ t ] [ (( b -- )) (( ... a b -- ... c )) effect<= ] unit-test
|
|
|
|
[ f ] [ (( ... a b -- ... c )) (( a b -- c )) effect<= ] unit-test
|
|
|
|
[ f ] [ (( ... b -- ... )) (( a b -- c )) effect<= ] unit-test
|
|
|
|
[ f ] [ (( a b -- c )) (( ... a b -- c )) effect<= ] unit-test
|
|
|
|
[ f ] [ (( a b -- c )) (( ..x a b -- ..y c )) effect<= ] unit-test
|
|
|
|
|
2009-02-09 17:26:56 -05:00
|
|
|
[ "(( object -- object ))" ] [ { f } { f } <effect> unparse ] unit-test
|
2008-06-09 03:14:14 -04:00
|
|
|
[ "(( a b -- c d ))" ] [ { "a" "b" } { "c" "d" } <effect> unparse ] unit-test
|
|
|
|
[ "(( -- c d ))" ] [ { } { "c" "d" } <effect> unparse ] unit-test
|
|
|
|
[ "(( a b -- ))" ] [ { "a" "b" } { } <effect> unparse ] unit-test
|
|
|
|
[ "(( -- ))" ] [ { } { } <effect> unparse ] unit-test
|
2008-06-08 17:47:20 -04:00
|
|
|
[ "(( a b -- c ))" ] [ (( a b -- c )) unparse ] unit-test
|
2009-02-09 17:26:56 -05:00
|
|
|
|
|
|
|
[ { "x" "y" } ] [ { "y" "x" } (( a b -- b a )) shuffle ] unit-test
|
|
|
|
[ { "y" "x" "y" } ] [ { "y" "x" } (( a b -- a b a )) shuffle ] unit-test
|
2009-04-30 22:08:29 -04:00
|
|
|
[ { } ] [ { "y" "x" } (( a b -- )) shuffle ] unit-test
|
|
|
|
|
|
|
|
[ t ] [ (( -- )) (( -- )) compose-effects (( -- )) effect= ] unit-test
|
|
|
|
[ t ] [ (( -- * )) (( -- )) compose-effects (( -- * )) effect= ] unit-test
|
2009-08-13 20:21:44 -04:00
|
|
|
[ t ] [ (( -- )) (( -- * )) compose-effects (( -- * )) effect= ] unit-test
|
2009-09-01 15:39:22 -04:00
|
|
|
|
|
|
|
[ { object object } ] [ (( a b -- )) effect-in-types ] unit-test
|
|
|
|
[ { object sequence } ] [ (( a b: sequence -- )) effect-in-types ] unit-test
|
2010-03-05 16:30:10 -05:00
|
|
|
|
|
|
|
[ f ] [ (( a b c -- d )) in-var>> ] unit-test
|
|
|
|
[ f ] [ (( -- d )) in-var>> ] unit-test
|
|
|
|
[ "a" ] [ (( ..a b c -- d )) in-var>> ] unit-test
|
|
|
|
[ { "b" "c" } ] [ (( ..a b c -- d )) in>> ] unit-test
|
|
|
|
|
|
|
|
[ f ] [ (( ..a b c -- e )) out-var>> ] unit-test
|
|
|
|
[ "d" ] [ (( ..a b c -- ..d e )) out-var>> ] unit-test
|
|
|
|
[ { "e" } ] [ (( ..a b c -- ..d e )) out>> ] unit-test
|
|
|
|
|
|
|
|
[ "(( a ..b c -- d ))" eval( -- effect ) ]
|
2010-03-11 04:25:13 -05:00
|
|
|
[ error>> invalid-row-variable? ] must-fail-with
|
2010-03-05 16:30:10 -05:00
|
|
|
|
|
|
|
[ "(( ..a: integer b c -- d ))" eval( -- effect ) ]
|
2010-03-11 04:25:13 -05:00
|
|
|
[ error>> row-variable-can't-have-type? ] must-fail-with
|