2007-09-20 18:09:08 -04:00
|
|
|
USING: sequences arrays bit-arrays kernel tools.test math
|
|
|
|
random ;
|
2008-03-01 17:00:45 -05:00
|
|
|
IN: bit-arrays.tests
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
[ 100 ] [ 100 <bit-array> length ] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
{ t f t }
|
|
|
|
] [
|
|
|
|
3 <bit-array> t 0 pick set-nth t 2 pick set-nth
|
|
|
|
>array
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
{ t f t }
|
|
|
|
] [
|
|
|
|
{ t f t } >bit-array >array
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
{ t f t } { f t f }
|
|
|
|
] [
|
|
|
|
{ t f t } >bit-array dup clone dup [ not ] change-each
|
2008-03-29 21:36:58 -04:00
|
|
|
[ >array ] bi@
|
2007-09-20 18:09:08 -04:00
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
{ f f f f f }
|
|
|
|
] [
|
|
|
|
{ t f t t f } >bit-array dup clear-bits >array
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
{ t t t t t }
|
|
|
|
] [
|
|
|
|
{ t f t t f } >bit-array dup set-bits >array
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[ t ] [
|
|
|
|
100 [
|
|
|
|
drop 100 [ drop 2 random zero? ] map
|
|
|
|
dup >bit-array >array =
|
|
|
|
] all?
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[ ?{ f } ] [
|
|
|
|
1 2 { t f t f } <slice> >bit-array
|
|
|
|
] unit-test
|
2008-01-29 16:04:26 -05:00
|
|
|
|
|
|
|
[ ?{ t f t f f f } ] [ 6 ?{ t f t } resize-bit-array ] unit-test
|
|
|
|
|
|
|
|
[ ?{ t t } ] [ 2 ?{ t t f t f t f t t t f t } resize-bit-array ] unit-test
|
|
|
|
|
2008-02-06 14:47:19 -05:00
|
|
|
[ -10 ?{ } resize-bit-array ] must-fail
|