USING: arrays kernel math namespaces sequences kernel.private
-sequences.private strings sbufs tools.test vectors
+sequences.private strings sbufs tools.test vectors assocs
generic vocabs.loader ;
IN: sequences.tests
[ 5040 ] [ [ 1 2 3 4 5 6 7 ] 1 [ * ] reduce ] unit-test
-[ 5040 [ 1 1 2 6 24 120 720 ] ]
-[ [ 1 2 3 4 5 6 7 ] 1 [ * ] accumulate ] unit-test
+[ 5040 { 1 1 2 6 24 120 720 } ]
+[ { 1 2 3 4 5 6 7 } 1 [ * ] accumulate ] unit-test
[ f f ] [ [ ] [ ] find ] unit-test
[ 0 1 ] [ [ 1 ] [ ] find ] unit-test
[ { { 1 4 } { 2 5 } { 3 6 } } ]
[ { { 1 2 3 } { 4 5 6 } } flip ] unit-test
-[ f ] [ [ { } { } "Hello" ] all-equal? ] unit-test
-[ f ] [ [ { 2 } { } { } ] all-equal? ] unit-test
-[ t ] [ [ ] all-equal? ] unit-test
-[ t ] [ [ 1234 ] all-equal? ] unit-test
-[ f ] [ [ 1.0 1 1 ] all-equal? ] unit-test
-[ t ] [ { 1 2 3 4 } [ < ] monotonic? ] unit-test
-[ f ] [ { 1 2 3 4 } [ > ] monotonic? ] unit-test
[ [ 2 3 4 ] ] [ [ 1 2 3 ] 1 [ + ] curry map ] unit-test
[ 1 ] [ 0 [ 1 2 ] nth ] unit-test
[ V{ } ] [ 6 >vector 0 6 pick delete-slice ] unit-test
-[ V{ 1 2 "a" "b" 5 6 7 } ] [
- { "a" "b" } 2 4 V{ 1 2 3 4 5 6 7 } clone
- [ replace-slice ] keep
+[ { 1 2 "a" "b" 5 6 7 } ] [
+ { "a" "b" } 2 4 { 1 2 3 4 5 6 7 }
+ replace-slice
] unit-test
-[ V{ 1 2 "a" "b" 6 7 } ] [
- { "a" "b" } 2 5 V{ 1 2 3 4 5 6 7 } clone
- [ replace-slice ] keep
+[ { 1 2 "a" "b" 6 7 } ] [
+ { "a" "b" } 2 5 { 1 2 3 4 5 6 7 }
+ replace-slice
] unit-test
-[ V{ 1 2 "a" "b" 4 5 6 7 } ] [
- { "a" "b" } 2 3 V{ 1 2 3 4 5 6 7 } clone
- [ replace-slice ] keep
+[ { 1 2 "a" "b" 4 5 6 7 } ] [
+ { "a" "b" } 2 3 { 1 2 3 4 5 6 7 }
+ replace-slice
] unit-test
-[ V{ 1 2 3 4 5 6 7 "a" "b" } ] [
- { "a" "b" } 7 7 V{ 1 2 3 4 5 6 7 } clone
- [ replace-slice ] keep
+[ { 1 2 3 4 5 6 7 "a" "b" } ] [
+ { "a" "b" } 7 7 { 1 2 3 4 5 6 7 }
+ replace-slice
] unit-test
-[ V{ "a" 3 } ] [
- { "a" } 0 2 V{ 1 2 3 } clone [ replace-slice ] keep
+[ { "a" 3 } ] [
+ { "a" } 0 2 { 1 2 3 } replace-slice
] unit-test
[ { 1 4 9 } ] [ { 1 2 3 } clone dup [ sq ] change-each ] unit-test
[ 5 ] [ 1 >bignum "\u000001\u000005\u000007" nth-unsafe ] unit-test
[ SBUF" before&after" ] [
- "&" 6 11 SBUF" before and after" [ replace-slice ] keep
+ "&" 6 11 SBUF" before and after" replace-slice
] unit-test
[ 3 "a" ] [ { "a" "b" "c" "a" "d" } [ "a" = ] find-last ] unit-test
[ -1./0. 0 delete-nth ] must-fail
[ "" ] [ "" [ CHAR: \s = ] trim ] unit-test
-[ "" ] [ "" [ CHAR: \s = ] trim-left ] unit-test
-[ "" ] [ "" [ CHAR: \s = ] trim-right ] unit-test
-[ "" ] [ " " [ CHAR: \s = ] trim-left ] unit-test
-[ "" ] [ " " [ CHAR: \s = ] trim-right ] unit-test
+[ "" ] [ "" [ CHAR: \s = ] trim-head ] unit-test
+[ "" ] [ "" [ CHAR: \s = ] trim-tail ] unit-test
+[ "" ] [ " " [ CHAR: \s = ] trim-head ] unit-test
+[ "" ] [ " " [ CHAR: \s = ] trim-tail ] unit-test
[ "asdf" ] [ " asdf " [ CHAR: \s = ] trim ] unit-test
-[ "asdf " ] [ " asdf " [ CHAR: \s = ] trim-left ] unit-test
-[ " asdf" ] [ " asdf " [ CHAR: \s = ] trim-right ] unit-test
+[ "asdf " ] [ " asdf " [ CHAR: \s = ] trim-head ] unit-test
+[ " asdf" ] [ " asdf " [ CHAR: \s = ] trim-tail ] unit-test
[ 328350 ] [ 100 [ sq ] sigma ] unit-test
[ "asdf" iota ] must-fail
[ T{ iota { n 10 } } ] [ 10 iota ] unit-test
[ 0 ] [ 10 iota first ] unit-test
+
+[ "hi" 3 ] [
+ { 1 2 3 4 5 6 7 8 } [ H{ { 3 "hi" } } at ] map-find
+] unit-test
+
+[ f f ] [
+ { 1 2 3 4 5 6 7 8 } [ H{ { 11 "hi" } } at ] map-find
+] unit-test