| 
									
										
										
										
											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 | 
					
						
							| 
									
										
										
										
											2011-10-18 16:18:42 -04:00
										 |  |  | [ 2 ] [ ( a b -- c ) in>> length ] unit-test | 
					
						
							|  |  |  | [ 1 ] [ ( a b -- c ) out>> length ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ "( object -- object )" ] [ { f } { f } <effect> unparse ] unit-test | 
					
						
							|  |  |  | [ "( 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 | 
					
						
							|  |  |  | [ "( a b -- c )" ] [ ( a b -- c ) unparse ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ { "x" "y" } ] [ { "y" "x" } ( a b -- b a ) shuffle ] unit-test | 
					
						
							|  |  |  | [ { "y" "x" "y" } ] [ { "y" "x" } ( a b -- a b a ) shuffle ] unit-test | 
					
						
							|  |  |  | [ { } ] [ { "y" "x" } ( a b -- ) shuffle ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ t ] [ ( -- ) ( -- ) compose-effects ( -- ) effect= ] unit-test | 
					
						
							|  |  |  | [ t ] [ ( -- * ) ( -- ) compose-effects ( -- * ) effect= ] unit-test | 
					
						
							|  |  |  | [ t ] [ ( -- ) ( -- * ) compose-effects ( -- * ) effect= ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ { object object } ] [ ( a b -- ) effect-in-types ] unit-test | 
					
						
							|  |  |  | [ { object sequence } ] [ ( a b: sequence -- ) effect-in-types ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ 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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-18 16:18:42 -04: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 | 
					
						
							| 
									
										
										
										
											2011-11-27 19:21:20 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ! test curry-effect | 
					
						
							|  |  |  | [ ( -- x ) ] [ ( c -- d ) curry-effect ] unit-test | 
					
						
							|  |  |  | [ ( -- x x ) ] [ ( -- d ) curry-effect ] unit-test | 
					
						
							|  |  |  | [ ( x -- ) ] [ ( a b -- ) curry-effect ] unit-test |