No smart quotes here
[factor/jcg.git] / extra / lists / lists-tests.factor
blob4a08a4d1e316f02d75b103aa3564dd6062080b5b
1 ! Copyright (C) 2008 James Cash
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: tools.test lists math ;
5 IN: lists.tests
7 { { 3 4 5 6 7 } } [
8     { 1 2 3 4 5 } seq>list [ 2 + ] lmap list>seq 
9 ] unit-test
11 { { 3 4 5 6 } } [
12     T{ cons f 1       
13         T{ cons f 2 
14             T{ cons f 3
15                 T{ cons f 4
16                 +nil+ } } } } [ 2 + ] lmap>array
17 ] unit-test
19 { 10 } [
20     T{ cons f 1       
21         T{ cons f 2 
22             T{ cons f 3
23                 T{ cons f 4
24                 +nil+ } } } } 0 [ + ] foldl
25 ] unit-test
26     
27 { T{ cons f
28       1
29       T{ cons f
30           2
31           T{ cons f
32               T{ cons f
33                   3
34                   T{ cons f
35                       4
36                       T{ cons f
37                           T{ cons f 5 +nil+ }
38                           +nil+ } } }
39           +nil+ } } }
40 } [
41     { 1 2 { 3 4 { 5 } } } seq>cons
42 ] unit-test
43     
44 { { 1 2 { 3 4 { 5 } } } } [
45   { 1 2 { 3 4 { 5 } } } seq>cons cons>seq
46 ] unit-test
47     
48 { T{ cons f 2 T{ cons f 3 T{ cons f 4 T{ cons f 5 +nil+ } } } } } [
49     { 1 2 3 4 } seq>cons [ 1+ ] lmap
50 ] unit-test
51     
52 { 15 } [
53  { 1 2 3 4 5 } seq>list 0 [ + ] foldr
54 ] unit-test
55     
56 { { 5 4 3 2 1 } } [
57     { 1 2 3 4 5 } seq>list lreverse list>seq
58 ] unit-test
59     
60 { 5 } [
61     { 1 2 3 4 5 } seq>list llength
62 ] unit-test
63     
64 { { 3 4 { 5 6 { 7 } } } } [
65   { 1 2 { 3 4 { 5 } } } seq>cons [ atom? ] [ 2 + ] traverse cons>seq
66 ] unit-test
67     
68 { { 1 2 3 4 5 6 } } [
69     { 1 2 3 } seq>list { 4 5 6 } seq>list lappend list>seq
70 ] unit-test