49 lines
1.1 KiB
Factor
49 lines
1.1 KiB
Factor
! Copyright (C) 2009 Doug Coleman.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: tools.test combinators.smart math kernel accessors ;
|
|
IN: combinators.smart.tests
|
|
|
|
: test-bi ( -- 9 11 )
|
|
10 [ 1- ] [ 1+ ] bi ;
|
|
|
|
[ [ test-bi ] output>array ] must-infer
|
|
[ { 9 11 } ] [ [ test-bi ] output>array ] unit-test
|
|
|
|
[ { 9 11 } [ + ] input<sequence ] must-infer
|
|
[ 20 ] [ { 9 11 } [ + ] input<sequence ] unit-test
|
|
|
|
[ 6 ] [ [ 1 2 3 ] [ + ] reduce-outputs ] unit-test
|
|
|
|
[ [ 1 2 3 ] [ + ] reduce-outputs ] must-infer
|
|
|
|
[ 6 ] [ [ 1 2 3 ] sum-outputs ] unit-test
|
|
|
|
[ "ab" ]
|
|
[
|
|
[ "a" "b" ] "" append-outputs-as
|
|
] unit-test
|
|
|
|
[ "" ]
|
|
[
|
|
[ ] "" append-outputs-as
|
|
] unit-test
|
|
|
|
[ { } ]
|
|
[
|
|
[ ] append-outputs
|
|
] unit-test
|
|
|
|
[ B{ 1 2 3 } ]
|
|
[
|
|
[ { 1 } { 2 } { 3 } ] B{ } append-outputs-as
|
|
] unit-test
|
|
|
|
! Test nesting
|
|
: nested-smart-combo-test ( -- array )
|
|
[ [ 1 2 ] output>array [ 3 4 ] output>array ] output>array ;
|
|
|
|
\ nested-smart-combo-test def>> must-infer
|
|
|
|
[ { { 1 2 } { 3 4 } } ] [ nested-smart-combo-test ] unit-test
|
|
|
|
[ 14 ] [ [ 1 2 3 ] [ sq ] [ + ] map-reduce-outputs ] unit-test |