1 USING: arrays calendar kernel math sequences tools.test
2 continuations system math.order threads accessors
6 { f } [ 2004 12 32 0 0 0 instant <timestamp> valid-timestamp? ] unit-test
7 { f } [ 2004 2 30 0 0 0 instant <timestamp> valid-timestamp? ] unit-test
8 { f } [ 2003 2 29 0 0 0 instant <timestamp> valid-timestamp? ] unit-test
9 { f } [ 2004 -2 9 0 0 0 instant <timestamp> valid-timestamp? ] unit-test
10 { f } [ 2004 12 0 0 0 0 instant <timestamp> valid-timestamp? ] unit-test
11 { f } [ 2004 12 1 24 0 0 instant <timestamp> valid-timestamp? ] unit-test
12 { f } [ 2004 12 1 23 60 0 instant <timestamp> valid-timestamp? ] unit-test
13 { f } [ 2004 12 1 23 59 60 instant <timestamp> valid-timestamp? ] unit-test
14 { t } [ now valid-timestamp? ] unit-test
16 { f } [ 1900 leap-year? ] unit-test
17 { t } [ 1904 leap-year? ] unit-test
18 { t } [ 2000 leap-year? ] unit-test
19 { f } [ 2001 leap-year? ] unit-test
20 { f } [ 2006 leap-year? ] unit-test
22 { t } [ 2006 10 10 0 0 0 instant <timestamp> 1 seconds time+
23 2006 10 10 0 0 1 instant <timestamp> = ] unit-test
24 { t } [ 2006 10 10 0 0 0 instant <timestamp> 100 seconds time+
25 2006 10 10 0 1 40 instant <timestamp> = ] unit-test
26 { t } [ 2006 10 10 0 0 0 instant <timestamp> -100 seconds time+
27 2006 10 9 23 58 20 instant <timestamp> = ] unit-test
28 { t } [ 2006 10 10 0 0 0 instant <timestamp> 86400 seconds time+
29 2006 10 11 0 0 0 instant <timestamp> = ] unit-test
31 { t } [ 2006 10 10 0 0 0 instant <timestamp> 10 minutes time+
32 2006 10 10 0 10 0 instant <timestamp> = ] unit-test
33 { +eq+ } [ 2006 10 10 0 0 0 instant <timestamp> 10.5 minutes time+
34 2006 10 10 0 10 30 instant <timestamp> <=> ] unit-test
35 { t } [ 2006 10 10 0 0 0 instant <timestamp> 3/4 minutes time+
36 2006 10 10 0 0 45 instant <timestamp> = ] unit-test
37 { t } [ 2006 10 10 0 0 0 instant <timestamp> -3/4 minutes time+
38 2006 10 9 23 59 15 instant <timestamp> = ] unit-test
40 { t } [ 2006 10 10 0 0 0 instant <timestamp> 7200 minutes time+
41 2006 10 15 0 0 0 instant <timestamp> = ] unit-test
42 { t } [ 2006 10 10 0 0 0 instant <timestamp> -10 minutes time+
43 2006 10 9 23 50 0 instant <timestamp> = ] unit-test
44 { t } [ 2006 10 10 0 0 0 instant <timestamp> -100 minutes time+
45 2006 10 9 22 20 0 instant <timestamp> = ] unit-test
47 { t } [ 2006 1 1 0 0 0 instant <timestamp> 1 hours time+
48 2006 1 1 1 0 0 instant <timestamp> = ] unit-test
49 { t } [ 2006 1 1 0 0 0 instant <timestamp> 24 hours time+
50 2006 1 2 0 0 0 instant <timestamp> = ] unit-test
51 { t } [ 2006 1 1 0 0 0 instant <timestamp> -24 hours time+
52 2005 12 31 0 0 0 instant <timestamp> = ] unit-test
53 { t } [ 2006 1 1 0 0 0 instant <timestamp> 12 hours time+
54 2006 1 1 12 0 0 instant <timestamp> = ] unit-test
55 { t } [ 2006 1 1 0 0 0 instant <timestamp> 72 hours time+
56 2006 1 4 0 0 0 instant <timestamp> = ] unit-test
58 { t } [ 2006 1 1 0 0 0 instant <timestamp> 1 days time+
59 2006 1 2 0 0 0 instant <timestamp> = ] unit-test
60 { t } [ 2006 1 1 0 0 0 instant <timestamp> -1 days time+
61 2005 12 31 0 0 0 instant <timestamp> = ] unit-test
62 { t } [ 2006 1 1 0 0 0 instant <timestamp> 365 days time+
63 2007 1 1 0 0 0 instant <timestamp> = ] unit-test
64 { t } [ 2006 1 1 0 0 0 instant <timestamp> -365 days time+
65 2005 1 1 0 0 0 instant <timestamp> = ] unit-test
66 { t } [ 2004 1 1 0 0 0 instant <timestamp> 365 days time+
67 2004 12 31 0 0 0 instant <timestamp> = ] unit-test
68 { t } [ 2004 1 1 0 0 0 instant <timestamp> 366 days time+
69 2005 1 1 0 0 0 instant <timestamp> = ] unit-test
71 { t } [ 2006 1 1 0 0 0 instant <timestamp> 11 months time+
72 2006 12 1 0 0 0 instant <timestamp> = ] unit-test
73 { t } [ 2006 1 1 0 0 0 instant <timestamp> 12 months time+
74 2007 1 1 0 0 0 instant <timestamp> = ] unit-test
75 { t } [ 2006 1 1 0 0 0 instant <timestamp> 24 months time+
76 2008 1 1 0 0 0 instant <timestamp> = ] unit-test
77 { t } [ 2006 1 1 0 0 0 instant <timestamp> 13 months time+
78 2007 2 1 0 0 0 instant <timestamp> = ] unit-test
79 { t } [ 2006 1 1 0 0 0 instant <timestamp> 1 months time+
80 2006 2 1 0 0 0 instant <timestamp> = ] unit-test
81 { t } [ 2006 1 1 0 0 0 instant <timestamp> 0 months time+
82 2006 1 1 0 0 0 instant <timestamp> = ] unit-test
83 { t } [ 2006 1 1 0 0 0 instant <timestamp> -1 months time+
84 2005 12 1 0 0 0 instant <timestamp> = ] unit-test
85 { t } [ 2006 1 1 0 0 0 instant <timestamp> -2 months time+
86 2005 11 1 0 0 0 instant <timestamp> = ] unit-test
87 { t } [ 2006 1 1 0 0 0 instant <timestamp> -13 months time+
88 2004 12 1 0 0 0 instant <timestamp> = ] unit-test
89 { t } [ 2006 1 1 0 0 0 instant <timestamp> -24 months time+
90 2004 1 1 0 0 0 instant <timestamp> = ] unit-test
91 { t } [ 2004 2 29 0 0 0 instant <timestamp> 12 months time+
92 2005 3 1 0 0 0 instant <timestamp> = ] unit-test
93 { t } [ 2004 2 29 0 0 0 instant <timestamp> -12 months time+
94 2003 3 1 0 0 0 instant <timestamp> = ] unit-test
96 { t } [ 2006 1 1 0 0 0 instant <timestamp> 0 years time+
97 2006 1 1 0 0 0 instant <timestamp> = ] unit-test
98 { t } [ 2006 1 1 0 0 0 instant <timestamp> 1 years time+
99 2007 1 1 0 0 0 instant <timestamp> = ] unit-test
100 { t } [ 2006 1 1 0 0 0 instant <timestamp> -1 years time+
101 2005 1 1 0 0 0 instant <timestamp> = ] unit-test
102 { t } [ 2006 1 1 0 0 0 instant <timestamp> -100 years time+
103 1906 1 1 0 0 0 instant <timestamp> = ] unit-test
104 ! [ t ] [ 2004 2 29 0 0 0 instant <timestamp> -1 years time+
105 ! 2003 2 28 0 0 0 instant <timestamp> = ] unit-test
107 { 5 } [ 2006 7 14 0 0 0 instant <timestamp> day-of-week ] unit-test
109 { t } [ 2006 7 14 [ julian-day-number julian-day-number>date 0 0 0 instant <timestamp> ] 3keep 0 0 0 instant <timestamp> = ] unit-test
111 { 1 } [ 2006 1 1 0 0 0 instant <timestamp> day-of-year ] unit-test
112 { 60 } [ 2004 2 29 0 0 0 instant <timestamp> day-of-year ] unit-test
113 { 61 } [ 2004 3 1 0 0 0 instant <timestamp> day-of-year ] unit-test
114 { 366 } [ 2004 12 31 0 0 0 instant <timestamp> day-of-year ] unit-test
115 { 365 } [ 2003 12 31 0 0 0 instant <timestamp> day-of-year ] unit-test
116 { 60 } [ 2003 3 1 0 0 0 instant <timestamp> day-of-year ] unit-test
118 { t } [ 2004 12 31 0 0 0 instant <timestamp> dup = ] unit-test
119 { t } [ 2004 1 1 0 0 0 instant <timestamp> 10 seconds 5 years time+ time+
120 2009 1 1 0 0 10 instant <timestamp> = ] unit-test
121 { t } [ 2004 1 1 0 0 0 instant <timestamp> -10 seconds -5 years time+ time+
122 1998 12 31 23 59 50 instant <timestamp> = ] unit-test
124 { t } [ 2004 1 1 23 0 0 12 hours <timestamp> >gmt
125 2004 1 1 11 0 0 instant <timestamp> = ] unit-test
126 { t } [ 2004 1 1 5 0 0 -11 hours <timestamp> >gmt
127 2004 1 1 16 0 0 instant <timestamp> = ] unit-test
128 { t } [ 2004 1 1 23 0 0 9+1/2 hours <timestamp> >gmt
129 2004 1 1 13 30 0 instant <timestamp> = ] unit-test
131 { +eq+ } [ 2004 1 1 13 30 0 instant <timestamp>
132 2004 1 1 12 30 0 -1 hours <timestamp> <=> ] unit-test
134 { +gt+ } [ 2004 1 1 13 30 0 instant <timestamp>
135 2004 1 1 12 30 0 instant <timestamp> <=> ] unit-test
137 { +lt+ } [ 2004 1 1 12 30 0 instant <timestamp>
138 2004 1 1 13 30 0 instant <timestamp> <=> ] unit-test
140 { +gt+ } [ 2005 1 1 12 30 0 instant <timestamp>
141 2004 1 1 13 30 0 instant <timestamp> <=> ] unit-test
143 { t } [ 0 micros>timestamp unix-1970 = ] unit-test
144 { t } [ 123456789000000 [ micros>timestamp timestamp>micros ] keep = ] unit-test
145 { t } [ 123456789123456000 [ micros>timestamp timestamp>micros ] keep = ] unit-test
147 : checktime+ ( duration -- ? ) now dup clone [ rot time+ drop ] keep = ;
149 { t } [ 5 seconds checktime+ ] unit-test
151 { t } [ 5 minutes checktime+ ] unit-test
153 { t } [ 5 hours checktime+ ] unit-test
155 { t } [ 5 days checktime+ ] unit-test
157 { t } [ 5 weeks checktime+ ] unit-test
159 { t } [ 5 months checktime+ ] unit-test
161 { t } [ 5 years checktime+ ] unit-test
163 { t } [ now 50 milliseconds sleep now before? ] unit-test
164 { t } [ now 50 milliseconds sleep now swap after? ] unit-test
165 { t } [ now 50 milliseconds sleep now 50 milliseconds sleep now swapd between? ] unit-test
167 { 4 12 } [ 2009 easter [ month>> ] [ day>> ] bi ] unit-test
168 { 4 2 } [ 1961 easter [ month>> ] [ day>> ] bi ] unit-test
170 { f } [ now dup midnight eq? ] unit-test
171 { f } [ now dup easter eq? ] unit-test
172 { f } [ now dup beginning-of-year eq? ] unit-test
174 { t } [ 1325376000 unix-time>timestamp 2012 <year-gmt> = ] unit-test
175 { t } [ 1356998399 unix-time>timestamp 2013 <year-gmt> 1 seconds time- = ] unit-test
177 { t } [ 1500000000 random [ unix-time>timestamp timestamp>unix-time ] keep = ] unit-test
180 2009 1 29 <date> 1 months time+
185 2008 1 29 <date> 1 months time+
190 [ gmt gmt-offset>> duration>seconds ] unit-test