factor/extra/cursors/cursors-tests.factor

69 lines
1.9 KiB
Factor
Raw Normal View History

! Copyright (C) 2010 Joe Groff.
! See http://factorcode.org/license.txt for BSD license.
2010-03-31 22:20:35 -04:00
USING: accessors cursors kernel make math sequences sorting tools.test ;
FROM: cursors => each map assoc-each assoc>map ;
2009-05-30 13:13:17 -04:00
IN: cursors.tests
{ { 1 2 3 4 } } [
[ T{ linear-cursor f 1 1 } T{ linear-cursor f 5 1 } [ value>> , ] -each ]
{ } make
] unit-test
2009-05-30 13:13:17 -04:00
{ T{ linear-cursor f 3 1 } } [
2010-03-26 23:08:29 -04:00
T{ linear-cursor f 1 1 } T{ linear-cursor f 5 1 } [ value>> 3 mod zero? ] -find
] unit-test
{ T{ linear-cursor f 5 1 } } [
2010-03-31 22:20:35 -04:00
T{ linear-cursor f 1 1 } T{ linear-cursor f 5 1 } [ value>> 6 = ] -find
] unit-test
{ { 1 3 } } [
[ T{ linear-cursor f 1 2 } T{ linear-cursor f 5 2 } [ value>> , ] -each ]
{ } make
] unit-test
2009-05-30 13:13:17 -04:00
{ B{ 1 2 3 4 5 } } [ [ { 1 2 3 4 5 } [ , ] each ] B{ } make ] unit-test
{ B{ } } [ [ { } [ , ] each ] B{ } make ] unit-test
{ { 2 4 6 8 10 } } [ { 1 2 3 4 5 } [ 2 * ] map ] unit-test
2009-05-30 13:13:17 -04:00
{ { "roses: lutefisk" "tulips: lox" } }
[
[
H{ { "roses" "lutefisk" } { "tulips" "lox" } }
[ ": " glue , ] assoc-each
] { } make natural-sort
] unit-test
2009-06-10 17:59:14 -04:00
{ { "roses: lutefisk" "tulips: lox" } }
[
H{ { "roses" "lutefisk" } { "tulips" "lox" } }
[ ": " glue ] { } assoc>map natural-sort
] unit-test
2009-06-10 17:59:14 -04:00
: compile-test-each ( xs -- )
[ , ] each ;
2009-06-10 17:59:14 -04:00
: compile-test-map ( xs -- ys )
[ 2 * ] map ;
2009-06-10 17:59:14 -04:00
: compile-test-assoc-each ( xs -- )
[ ": " glue , ] assoc-each ;
2009-06-10 17:59:14 -04:00
: compile-test-assoc>map ( xs -- ys )
[ ": " glue ] { } assoc>map ;
2009-06-22 12:55:42 -04:00
{ B{ 1 2 3 4 5 } } [ [ { 1 2 3 4 5 } compile-test-each ] B{ } make ] unit-test
{ { 2 4 6 8 10 } } [ { 1 2 3 4 5 } compile-test-map ] unit-test
{ { "roses: lutefisk" "tulips: lox" } }
[
[ H{ { "roses" "lutefisk" } { "tulips" "lox" } } compile-test-assoc-each ]
{ } make natural-sort
] unit-test
{ { "roses: lutefisk" "tulips: lox" } }
[
H{ { "roses" "lutefisk" } { "tulips" "lox" } } compile-test-assoc>map
natural-sort
] unit-test