]> gitweb.factorcode.org Git - factor.git/blob - basis/sequences/product/product-tests.factor
9f931293ea7c7ff7bbd4c268a33bc3c3b0fb8d74
[factor.git] / basis / sequences / product / product-tests.factor
1 ! (c)2009 Joe Groff bsd license
2 USING: arrays kernel make sequences sequences.product tools.test ;
3 IN: sequences.product.tests
4
5
6 [ { { 0 "a" } { 1 "a" } { 2 "a" } { 0 "b" } { 1 "b" } { 2 "b" } } ]
7 [ { { 0 1 2 } { "a" "b" } } <product-sequence> >array ] unit-test
8
9 : x ( n s -- sss ) <repetition> concat ;
10
11 [ { "a" "aa" "aaa" "b" "bb" "bbb" } ]
12 [ { { 1 2 3 } { "a" "b" } } [ first2 x ] product-map ] unit-test
13
14 [
15     {
16         { 0 "a" t } { 1 "a" t } { 2 "a" t } { 0 "b" t } { 1 "b" t } { 2 "b" t }
17         { 0 "a" f } { 1 "a" f } { 2 "a" f } { 0 "b" f } { 1 "b" f } { 2 "b" f }
18     }
19 ] [ { { 0 1 2 } { "a" "b" } { t f } } [ ] product-map ] unit-test
20
21 [ "a1b1c1a2b2c2" ] [
22     [
23         { { "a" "b" "c" } { "1" "2" } }
24         [ [ % ] each ] product-each
25     ] "" make
26 ] unit-test
27
28 [ { } ] [ { { } { 1 } } [ ] product-map ] unit-test
29 [ ] [ { { } { 1 } } [ drop ] product-each ] unit-test