79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Factor
		
	
	
|  | USING: sequences sequences.private arrays bit-arrays kernel | ||
|  | tools.test math random ;
 | ||
|  | IN: bit-arrays.tests | ||
|  | 
 | ||
|  | [ 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 | ||
|  |     [ >array ] bi@
 | ||
|  | ] 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 [ 2 random zero? ] replicate
 | ||
|  |         dup >bit-array >array =
 | ||
|  |     ] all?
 | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ ?{ f } ] [ | ||
|  |     1 2 { t f t f } <slice> >bit-array | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ ?{ f t } ] [ 0 2 ?{ f t f } subseq ] unit-test | ||
|  | 
 | ||
|  | [ ?{ t f t f f f } ] [ 6 ?{ t f t } resize ] unit-test | ||
|  | 
 | ||
|  | [ ?{ t t } ] [ 2 ?{ t t f t f t f t t t f t } resize ] unit-test | ||
|  | 
 | ||
|  | [ -10 ?{ } resize ] must-fail | ||
|  | 
 | ||
|  | [ -1 integer>bit-array ] must-fail | ||
|  | [ ?{ } ] [ 0 integer>bit-array ] unit-test | ||
|  | [ ?{ f t } ] [ 2 integer>bit-array ] unit-test | ||
|  | [ ?{ t t t t t t t t t } ] [ 511 integer>bit-array ] unit-test | ||
|  | [ ?{  | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  | } ] [ | ||
|  |     HEX: ffffffffffffffffffffffffffffffff integer>bit-array | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ 14 ] [ ?{ f t t t } bit-array>integer ] unit-test | ||
|  | [ 0 ] [ ?{ } bit-array>integer ] unit-test | ||
|  | [ HEX: ffffffffffffffffffffffffffffffff ] [ ?{ | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  |     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
 | ||
|  | } bit-array>integer ] unit-test |