70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2008 James Cash
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: tools.test lists math ;
 | 
						|
 | 
						|
IN: lists.tests
 | 
						|
 | 
						|
{ { 3 4 5 6 7 } } [
 | 
						|
    { 1 2 3 4 5 } seq>list [ 2 + ] lmap list>seq 
 | 
						|
] unit-test
 | 
						|
 | 
						|
{ { 3 4 5 6 } } [
 | 
						|
    T{ cons f 1       
 | 
						|
        T{ cons f 2 
 | 
						|
            T{ cons f 3
 | 
						|
                T{ cons f 4
 | 
						|
                +nil+ } } } } [ 2 + ] lmap>array
 | 
						|
] unit-test
 | 
						|
 | 
						|
{ 10 } [
 | 
						|
    T{ cons f 1       
 | 
						|
        T{ cons f 2 
 | 
						|
            T{ cons f 3
 | 
						|
                T{ cons f 4
 | 
						|
                +nil+ } } } } 0 [ + ] foldl
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ T{ cons f
 | 
						|
      1
 | 
						|
      T{ cons f
 | 
						|
          2
 | 
						|
          T{ cons f
 | 
						|
              T{ cons f
 | 
						|
                  3
 | 
						|
                  T{ cons f
 | 
						|
                      4
 | 
						|
                      T{ cons f
 | 
						|
                          T{ cons f 5 +nil+ }
 | 
						|
                          +nil+ } } }
 | 
						|
          +nil+ } } }
 | 
						|
} [
 | 
						|
    { 1 2 { 3 4 { 5 } } } seq>cons
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ { 1 2 { 3 4 { 5 } } } } [
 | 
						|
  { 1 2 { 3 4 { 5 } } } seq>cons cons>seq
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ T{ cons f 2 T{ cons f 3 T{ cons f 4 T{ cons f 5 +nil+ } } } } } [
 | 
						|
    { 1 2 3 4 } seq>cons [ 1+ ] lmap
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ 15 } [
 | 
						|
 { 1 2 3 4 5 } seq>list 0 [ + ] foldr
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ { 5 4 3 2 1 } } [
 | 
						|
    { 1 2 3 4 5 } seq>list lreverse list>seq
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ 5 } [
 | 
						|
    { 1 2 3 4 5 } seq>list llength
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ { 3 4 { 5 6 { 7 } } } } [
 | 
						|
  { 1 2 { 3 4 { 5 } } } seq>cons [ atom? ] [ 2 + ] traverse cons>seq
 | 
						|
] unit-test
 | 
						|
    
 | 
						|
{ { 1 2 3 4 5 6 } } [
 | 
						|
    { 1 2 3 } seq>list { 4 5 6 } seq>list lappend list>seq
 | 
						|
] unit-test |