source: EcnlProtoTool/trunk/mruby-1.2.0/mrbgems/mruby-time/test/time.rb@ 321

Last change on this file since 321 was 321, checked in by coas-nagasima, 7 years ago

文字コードを設定

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby;charset=UTF-8
File size: 4.2 KB
Line 
1##
2# Time ISO Test
3
4assert('Time.new', '15.2.3.3.3') do
5 Time.new.class == Time
6end
7
8assert('Time', '15.2.19') do
9 Time.class == Class
10end
11
12assert('Time.at', '15.2.19.6.1') do
13 Time.at(1300000000.0)
14end
15
16assert('Time.gm', '15.2.19.6.2') do
17 Time.gm(2012, 12, 23)
18end
19
20assert('Time.local', '15.2.19.6.3') do
21 Time.local(2012, 12, 23)
22end
23
24assert('Time.mktime', '15.2.19.6.4') do
25 Time.mktime(2012, 12, 23)
26end
27
28assert('Time.now', '15.2.19.6.5') do
29 Time.now.class == Time
30end
31
32assert('Time.utc', '15.2.19.6.6') do
33 Time.utc(2012, 12, 23)
34end
35
36assert('Time#+', '15.2.19.7.1') do
37 t1 = Time.at(1300000000.0)
38 t2 = t1.+(60)
39
40 t2.utc.asctime == "Sun Mar 13 07:07:40 UTC 2011"
41end
42
43assert('Time#-', '15.2.19.7.2') do
44 t1 = Time.at(1300000000.0)
45 t2 = t1.-(60)
46
47 t2.utc.asctime == "Sun Mar 13 07:05:40 UTC 2011"
48end
49
50assert('Time#<=>', '15.2.19.7.3') do
51 t1 = Time.at(1300000000.0)
52 t2 = Time.at(1400000000.0)
53 t3 = Time.at(1500000000.0)
54
55 t2.<=>(t1) == 1 and
56 t2.<=>(t2) == 0 and
57 t2.<=>(t3) == -1 and
58 t2.<=>(nil) == nil
59end
60
61assert('Time#asctime', '15.2.19.7.4') do
62 Time.at(1300000000.0).utc.asctime == "Sun Mar 13 07:06:40 UTC 2011"
63end
64
65assert('Time#ctime', '15.2.19.7.5') do
66 Time.at(1300000000.0).utc.ctime == "Sun Mar 13 07:06:40 UTC 2011"
67end
68
69assert('Time#day', '15.2.19.7.6') do
70 Time.gm(2012, 12, 23).day == 23
71end
72
73assert('Time#dst?', '15.2.19.7.7') do
74 not Time.gm(2012, 12, 23).utc.dst?
75end
76
77assert('Time#getgm', '15.2.19.7.8') do
78 Time.at(1300000000.0).getgm.asctime == "Sun Mar 13 07:06:40 UTC 2011"
79end
80
81assert('Time#getlocal', '15.2.19.7.9') do
82 t1 = Time.at(1300000000.0)
83 t2 = Time.at(1300000000.0)
84 t3 = t1.getlocal
85
86 t1 == t3 and t3 == t2.getlocal
87end
88
89assert('Time#getutc', '15.2.19.7.10') do
90 Time.at(1300000000.0).getutc.asctime == "Sun Mar 13 07:06:40 UTC 2011"
91end
92
93assert('Time#gmt?', '15.2.19.7.11') do
94 Time.at(1300000000.0).utc.gmt?
95end
96
97# ATM not implemented
98# assert('Time#gmt_offset', '15.2.19.7.12') do
99
100assert('Time#gmtime', '15.2.19.7.13') do
101 Time.at(1300000000.0).gmtime
102end
103
104# ATM not implemented
105# assert('Time#gmtoff', '15.2.19.7.14') do
106
107assert('Time#hour', '15.2.19.7.15') do
108 Time.gm(2012, 12, 23, 7, 6).hour == 7
109end
110
111# ATM doesn't really work
112# assert('Time#initialize', '15.2.19.7.16') do
113
114assert('Time#initialize_copy', '15.2.19.7.17') do
115 time_tmp_2 = Time.at(7.0e6)
116 time_tmp_2.clone == time_tmp_2
117end
118
119assert('Time#localtime', '15.2.19.7.18') do
120 t1 = Time.at(1300000000.0)
121 t2 = Time.at(1300000000.0)
122
123 t1.localtime
124 t1 == t2.getlocal
125end
126
127assert('Time#mday', '15.2.19.7.19') do
128 Time.gm(2012, 12, 23).mday == 23
129end
130
131assert('Time#min', '15.2.19.7.20') do
132 Time.gm(2012, 12, 23, 7, 6).min == 6
133end
134
135assert('Time#mon', '15.2.19.7.21') do
136 Time.gm(2012, 12, 23).mon == 12
137end
138
139assert('Time#month', '15.2.19.7.22') do
140 Time.gm(2012, 12, 23).month == 12
141end
142
143assert('Times#sec', '15.2.19.7.23') do
144 Time.gm(2012, 12, 23, 7, 6, 40).sec == 40
145end
146
147assert('Time#to_f', '15.2.19.7.24') do
148 Time.at(1300000000.0).to_f == 1300000000.0
149end
150
151assert('Time#to_i', '15.2.19.7.25') do
152 Time.at(1300000000.0).to_i == 1300000000
153end
154
155assert('Time#usec', '15.2.19.7.26') do
156 Time.at(1300000000.0).usec == 0
157end
158
159assert('Time#utc', '15.2.19.7.27') do
160 Time.at(1300000000.0).utc
161end
162
163assert('Time#utc?', '15.2.19.7.28') do
164 Time.at(1300000000.0).utc.utc?
165end
166
167# ATM not implemented
168# assert('Time#utc_offset', '15.2.19.7.29') do
169
170assert('Time#wday', '15.2.19.7.30') do
171 Time.gm(2012, 12, 23).wday == 0
172end
173
174assert('Time#yday', '15.2.19.7.31') do
175 Time.gm(2012, 12, 23).yday == 358
176end
177
178assert('Time#year', '15.2.19.7.32') do
179 Time.gm(2012, 12, 23).year == 2012
180end
181
182assert('Time#zone', '15.2.19.7.33') do
183 Time.at(1300000000.0).utc.zone == 'UTC'
184end
185
186# Not ISO specified
187
188assert('Time#to_s') do
189 Time.at(1300000000.0).utc.to_s == "Sun Mar 13 07:06:40 UTC 2011"
190end
191
192assert('Time#inspect') do
193 Time.at(1300000000.0).utc.inspect == "Sun Mar 13 07:06:40 UTC 2011"
194end
195
196assert('day of week methods') do
197 t = Time.gm(2012, 12, 24)
198 assert_false t.sunday?
199 assert_true t.monday?
200 assert_false t.tuesday?
201 assert_false t.wednesday?
202 assert_false t.thursday?
203 assert_false t.friday?
204 assert_false t.saturday?
205end
206
207assert('2000 times 500us make a second') do
208 t = Time.utc 2015
209 2000.times do
210 t += 0.0005
211 end
212 t.usec == 0
213end
Note: See TracBrowser for help on using the repository browser.