1 ! (c)2010 Joe Groff bsd license
2 USING: accessors cursors kernel make math sequences sorting tools.test ;
3 FROM: cursors => each map assoc-each assoc>map ;
7 [ T{ linear-cursor f 1 1 } T{ linear-cursor f 5 1 } [ value>> , ] -each ]
11 [ T{ linear-cursor f 3 1 } ] [
12 T{ linear-cursor f 1 1 } T{ linear-cursor f 5 1 } [ value>> 3 mod zero? ] -find
15 [ T{ linear-cursor f 5 1 } ] [
16 T{ linear-cursor f 1 1 } T{ linear-cursor f 5 1 } [ value>> 6 = ] -find
20 [ T{ linear-cursor f 1 2 } T{ linear-cursor f 5 2 } [ value>> , ] -each ]
24 [ B{ 1 2 3 4 5 } ] [ [ { 1 2 3 4 5 } [ , ] each ] B{ } make ] unit-test
25 [ B{ } ] [ [ { } [ , ] each ] B{ } make ] unit-test
26 [ { 2 4 6 8 10 } ] [ { 1 2 3 4 5 } [ 2 * ] map ] unit-test
28 [ { "roses: lutefisk" "tulips: lox" } ]
31 H{ { "roses" "lutefisk" } { "tulips" "lox" } }
32 [ ": " glue , ] assoc-each
33 ] { } make natural-sort
36 [ { "roses: lutefisk" "tulips: lox" } ]
38 H{ { "roses" "lutefisk" } { "tulips" "lox" } }
39 [ ": " glue ] { } assoc>map natural-sort
42 : compile-test-each ( xs -- )
45 : compile-test-map ( xs -- ys )
48 : compile-test-assoc-each ( xs -- )
49 [ ": " glue , ] assoc-each ;
51 : compile-test-assoc>map ( xs -- ys )
52 [ ": " glue ] { } assoc>map ;
54 [ B{ 1 2 3 4 5 } ] [ [ { 1 2 3 4 5 } compile-test-each ] B{ } make ] unit-test
55 [ { 2 4 6 8 10 } ] [ { 1 2 3 4 5 } compile-test-map ] unit-test
57 [ { "roses: lutefisk" "tulips: lox" } ]
59 [ H{ { "roses" "lutefisk" } { "tulips" "lox" } } compile-test-assoc-each ]
63 [ { "roses: lutefisk" "tulips: lox" } ]
65 H{ { "roses" "lutefisk" } { "tulips" "lox" } } compile-test-assoc>map