| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ! Copyright (C) 2005, 2006 Alex Chapman, Daniel Ehrenberg | 
					
						
							|  |  |  | ! See http;//factorcode.org/license.txt for BSD license | 
					
						
							|  |  |  | USING: arrays kernel tools.test sequences sequences.private | 
					
						
							|  |  |  | circular strings ;
 | 
					
						
							| 
									
										
										
										
											2009-08-13 20:21:44 -04:00
										 |  |  | IN: circular.tests | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ 0 ] [ { 0 1 2 3 4 } <circular> 0 swap virtual@ drop ] unit-test | 
					
						
							|  |  |  | [ 2 ] [ { 0 1 2 3 4 } <circular> 2 swap virtual@ drop ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ CHAR: t ] [ "test" <circular> 0 swap nth ] unit-test | 
					
						
							|  |  |  | [ "test"  ] [ "test" <circular> >string ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ CHAR: e ] [ "test" <circular> 5 swap nth-unsafe ] unit-test | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | [ [ 1 2 3 ] ] [ { 1 2 3 } <circular> [ ] like ] unit-test | 
					
						
							| 
									
										
										
										
											2009-05-13 20:31:58 -04:00
										 |  |  | [ [ 2 3 1 ] ] [ { 1 2 3 } <circular> [ rotate-circular ] keep [ ] like ] unit-test | 
					
						
							| 
									
										
										
										
											2009-06-09 19:28:53 -04:00
										 |  |  | [ [ 3 1 2 ] ] [ { 1 2 3 } <circular> [ rotate-circular ] keep [ rotate-circular ] keep [ ] like ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | [ [ 2 3 1 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start [ ] like ] unit-test | 
					
						
							|  |  |  | [ [ 3 1 2 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start 1 over change-circular-start [ ] like ] unit-test | 
					
						
							|  |  |  | [ [ 3 1 2 ] ] [ { 1 2 3 } <circular> -100 over change-circular-start [ ] like ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ "fob" ] [ "foo" <circular> CHAR: b 2 pick set-nth >string ] unit-test | 
					
						
							|  |  |  | [ "boo" ] [ "foo" <circular> CHAR: b 3 pick set-nth-unsafe >string ] unit-test | 
					
						
							|  |  |  | [ "ornact" ] [ "factor" <circular> 4 over change-circular-start CHAR: n 2 pick set-nth >string ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-06 18:20:46 -05:00
										 |  |  | [ "bcd" ] [ 3 <circular-string> "abcd" [ over circular-push ] each >string ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ { 0 0 } ] [ { 0 0 } <circular> -1 over change-circular-start >array ] unit-test | 
					
						
							| 
									
										
										
										
											2008-03-19 22:48:29 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | ! This no longer fails | 
					
						
							|  |  |  | ! [ "test" <circular> 5 swap nth ] must-fail | 
					
						
							|  |  |  | ! [ "foo" <circular> CHAR: b 3 rot set-nth ] must-fail | 
					
						
							| 
									
										
										
										
											2008-05-25 16:19:26 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ { } ] [ 3 <growing-circular> >array ] unit-test | 
					
						
							|  |  |  | [ { 1 2 } ] [ | 
					
						
							|  |  |  |     3 <growing-circular> | 
					
						
							| 
									
										
										
										
											2009-12-06 18:20:46 -05:00
										 |  |  |     [ 1 swap growing-circular-push ] keep
 | 
					
						
							|  |  |  |     [ 2 swap growing-circular-push ] keep >array
 | 
					
						
							| 
									
										
										
										
											2008-05-25 16:19:26 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | [ { 3 4 5 } ] [ | 
					
						
							|  |  |  |     3 <growing-circular> dup { 1 2 3 4 5 } [ | 
					
						
							| 
									
										
										
										
											2009-12-06 18:20:46 -05:00
										 |  |  |         swap growing-circular-push | 
					
						
							| 
									
										
										
										
											2008-05-25 16:19:26 -04:00
										 |  |  |     ] with each >array
 | 
					
						
							|  |  |  | ] unit-test |