remove math.blas.syntax and merge parsing words into math.blas.vectors/matrices
[factor/jcg.git] / basis / concurrency / combinators / combinators-tests.factor
blob1c2dea2d79ce62305457be3cb4b306316eb5591c
1 IN: concurrency.combinators.tests\r
2 USING: concurrency.combinators tools.test random kernel math \r
3 concurrency.mailboxes threads sequences accessors arrays\r
4 math.parser ;\r
5 \r
6 [ [ drop ] parallel-each ] must-infer\r
7 { 2 0 } [ [ 2drop ] 2parallel-each ] must-infer-as\r
8 [ [ ] parallel-map ] must-infer\r
9 { 2 1 } [ [ 2array ] 2parallel-map ] must-infer-as\r
10 [ [ ] parallel-filter ] must-infer\r
12 [ { 1 4 9 } ] [ { 1 2 3 } [ sq ] parallel-map ] unit-test\r
14 [ { 1 4 9 } ] [ { 1 2 3 } [ 1000000 random sleep sq ] parallel-map ] unit-test\r
16 [ { 1 2 3 } [ dup 2 mod 0 = [ "Even" throw ] when ] parallel-map ]\r
17 [ error>> "Even" = ] must-fail-with\r
19 [ V{ 0 3 6 9 } ]\r
20 [ 10 [ 3 mod zero? ] parallel-filter ] unit-test\r
22 [ 10 ]\r
23 [\r
24     V{ } clone\r
25     10 over [ push ] curry parallel-each\r
26     length\r
27 ] unit-test\r
29 [ { 10 20 30 } ] [\r
30     { 1 4 3 } { 10 5 10 } [ * ] 2parallel-map\r
31 ] unit-test\r
33 [ { -9 -1 -7 } ] [\r
34     { 1 4 3 } { 10 5 10 } [ - ] 2parallel-map\r
35 ] unit-test\r
37 [\r
38     { 1 4 3 } { 1 0 1 } [ / drop ] 2parallel-each\r
39 ] must-fail\r
41 [ 20 ]\r
42 [\r
43     V{ } clone\r
44     10 10 pick [ [ push ] [ push ] bi ] curry 2parallel-each\r
45     length\r
46 ] unit-test\r
48 [ { f } [ "OOPS" throw ] parallel-each ] must-fail\r
50 [ "1a" "4b" "3c" ] [\r
51     2\r
52     { [ 1- ] [ sq ] [ 1+ ] } parallel-cleave\r
53     [ number>string ] 3 parallel-napply\r
54     { [ "a" append ] [ "b" append ] [ "c" append ] } parallel-spread\r
55 ] unit-test\r