Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(645)

Side by Side Diff: tests/corelib/duration_test.dart

Issue 12389056: Add Duration.inMicroseconds and add Stopwatch.elapsed. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 main() { 5 main() {
6 Duration d; 6 Duration d;
7 d = new Duration(days: 1); 7 d = new Duration(days: 1);
8 Expect.equals(86400000000, d.inMicroseconds);
8 Expect.equals(86400000, d.inMilliseconds); 9 Expect.equals(86400000, d.inMilliseconds);
9 Expect.equals(86400, d.inSeconds); 10 Expect.equals(86400, d.inSeconds);
10 Expect.equals(1440, d.inMinutes); 11 Expect.equals(1440, d.inMinutes);
11 Expect.equals(24, d.inHours); 12 Expect.equals(24, d.inHours);
12 Expect.equals(1, d.inDays); 13 Expect.equals(1, d.inDays);
13 d = const Duration(hours: 1); 14 d = const Duration(hours: 1);
15 Expect.equals(3600000000, d.inMicroseconds);
14 Expect.equals(3600000, d.inMilliseconds); 16 Expect.equals(3600000, d.inMilliseconds);
15 Expect.equals(3600, d.inSeconds); 17 Expect.equals(3600, d.inSeconds);
16 Expect.equals(60, d.inMinutes); 18 Expect.equals(60, d.inMinutes);
17 Expect.equals(1, d.inHours); 19 Expect.equals(1, d.inHours);
18 Expect.equals(0, d.inDays); 20 Expect.equals(0, d.inDays);
19 d = new Duration(minutes: 1); 21 d = new Duration(minutes: 1);
22 Expect.equals(60000000, d.inMicroseconds);
20 Expect.equals(60000, d.inMilliseconds); 23 Expect.equals(60000, d.inMilliseconds);
21 Expect.equals(60, d.inSeconds); 24 Expect.equals(60, d.inSeconds);
22 Expect.equals(1, d.inMinutes); 25 Expect.equals(1, d.inMinutes);
23 Expect.equals(0, d.inHours); 26 Expect.equals(0, d.inHours);
24 Expect.equals(0, d.inDays); 27 Expect.equals(0, d.inDays);
25 d = const Duration(seconds: 1); 28 d = const Duration(seconds: 1);
29 Expect.equals(1000000, d.inMicroseconds);
26 Expect.equals(1000, d.inMilliseconds); 30 Expect.equals(1000, d.inMilliseconds);
27 Expect.equals(1, d.inSeconds); 31 Expect.equals(1, d.inSeconds);
28 Expect.equals(0, d.inMinutes); 32 Expect.equals(0, d.inMinutes);
29 Expect.equals(0, d.inHours); 33 Expect.equals(0, d.inHours);
30 Expect.equals(0, d.inDays); 34 Expect.equals(0, d.inDays);
31 d = new Duration(milliseconds: 1); 35 d = new Duration(milliseconds: 1);
36 Expect.equals(1000, d.inMicroseconds);
32 Expect.equals(1, d.inMilliseconds); 37 Expect.equals(1, d.inMilliseconds);
33 Expect.equals(0, d.inSeconds); 38 Expect.equals(0, d.inSeconds);
34 Expect.equals(0, d.inMinutes); 39 Expect.equals(0, d.inMinutes);
35 Expect.equals(0, d.inHours); 40 Expect.equals(0, d.inHours);
36 Expect.equals(0, d.inDays); 41 Expect.equals(0, d.inDays);
42 d = new Duration(microseconds: 1);
43 Expect.equals(1, d.inMicroseconds);
44 Expect.equals(0, d.inMilliseconds);
45 Expect.equals(0, d.inSeconds);
46 Expect.equals(0, d.inMinutes);
47 Expect.equals(0, d.inHours);
48 Expect.equals(0, d.inDays);
37 49
50 d = const Duration(milliseconds: 1, microseconds: 999);
51 Expect.equals(1999, d.inMicroseconds);
52 Expect.equals(1, d.inMilliseconds);
38 d = const Duration(seconds: 1, milliseconds: 999); 53 d = const Duration(seconds: 1, milliseconds: 999);
39 Expect.equals(1999, d.inMilliseconds); 54 Expect.equals(1999, d.inMilliseconds);
40 Expect.equals(1, d.inSeconds); 55 Expect.equals(1, d.inSeconds);
41 d = new Duration(minutes: 1, seconds: 59); 56 d = new Duration(minutes: 1, seconds: 59);
42 Expect.equals(119, d.inSeconds); 57 Expect.equals(119, d.inSeconds);
43 Expect.equals(1, d.inMinutes); 58 Expect.equals(1, d.inMinutes);
44 d = const Duration(hours: 1, minutes: 59); 59 d = const Duration(hours: 1, minutes: 59);
45 Expect.equals(119, d.inMinutes); 60 Expect.equals(119, d.inMinutes);
46 Expect.equals(1, d.inHours); 61 Expect.equals(1, d.inHours);
47 d = new Duration(days: 1, hours:23); 62 d = new Duration(days: 1, hours:23);
48 Expect.equals(47, d.inHours); 63 Expect.equals(47, d.inHours);
49 Expect.equals(1, d.inDays); 64 Expect.equals(1, d.inDays);
50 d = const Duration( 65 d = const Duration(
51 days: 0, hours: 23, minutes: 59, seconds: 59, milliseconds: 999); 66 days: 0, hours: 23, minutes: 59, seconds: 59, milliseconds: 999,
67 microseconds: 999);
52 Expect.equals(0, d.inDays); 68 Expect.equals(0, d.inDays);
53 69
54 d = new Duration(days: -1); 70 d = new Duration(days: -1);
71 Expect.equals(-86400000000, d.inMicroseconds);
55 Expect.equals(-86400000, d.inMilliseconds); 72 Expect.equals(-86400000, d.inMilliseconds);
56 Expect.equals(-86400, d.inSeconds); 73 Expect.equals(-86400, d.inSeconds);
57 Expect.equals(-1440, d.inMinutes); 74 Expect.equals(-1440, d.inMinutes);
58 Expect.equals(-24, d.inHours); 75 Expect.equals(-24, d.inHours);
59 Expect.equals(-1, d.inDays); 76 Expect.equals(-1, d.inDays);
60 d = const Duration(hours: -1); 77 d = const Duration(hours: -1);
78 Expect.equals(-3600000000, d.inMicroseconds);
61 Expect.equals(-3600000, d.inMilliseconds); 79 Expect.equals(-3600000, d.inMilliseconds);
62 Expect.equals(-3600, d.inSeconds); 80 Expect.equals(-3600, d.inSeconds);
63 Expect.equals(-60, d.inMinutes); 81 Expect.equals(-60, d.inMinutes);
64 Expect.equals(-1, d.inHours); 82 Expect.equals(-1, d.inHours);
65 Expect.equals(0, d.inDays); 83 Expect.equals(0, d.inDays);
66 d = new Duration(minutes: -1); 84 d = new Duration(minutes: -1);
85 Expect.equals(-60000000, d.inMicroseconds);
67 Expect.equals(-60000, d.inMilliseconds); 86 Expect.equals(-60000, d.inMilliseconds);
68 Expect.equals(-60, d.inSeconds); 87 Expect.equals(-60, d.inSeconds);
69 Expect.equals(-1, d.inMinutes); 88 Expect.equals(-1, d.inMinutes);
70 Expect.equals(0, d.inHours); 89 Expect.equals(0, d.inHours);
71 Expect.equals(0, d.inDays); 90 Expect.equals(0, d.inDays);
72 d = const Duration(seconds: -1); 91 d = const Duration(seconds: -1);
92 Expect.equals(-1000000, d.inMicroseconds);
73 Expect.equals(-1000, d.inMilliseconds); 93 Expect.equals(-1000, d.inMilliseconds);
74 Expect.equals(-1, d.inSeconds); 94 Expect.equals(-1, d.inSeconds);
75 Expect.equals(0, d.inMinutes); 95 Expect.equals(0, d.inMinutes);
76 Expect.equals(0, d.inHours); 96 Expect.equals(0, d.inHours);
77 Expect.equals(0, d.inDays); 97 Expect.equals(0, d.inDays);
78 d = new Duration(milliseconds: -1); 98 d = new Duration(milliseconds: -1);
99 Expect.equals(-1000, d.inMicroseconds);
79 Expect.equals(-1, d.inMilliseconds); 100 Expect.equals(-1, d.inMilliseconds);
80 Expect.equals(0, d.inSeconds); 101 Expect.equals(0, d.inSeconds);
81 Expect.equals(0, d.inMinutes); 102 Expect.equals(0, d.inMinutes);
82 Expect.equals(0, d.inHours); 103 Expect.equals(0, d.inHours);
83 Expect.equals(0, d.inDays); 104 Expect.equals(0, d.inDays);
105 d = new Duration(microseconds: -1);
106 Expect.equals(-1, d.inMicroseconds);
107 Expect.equals(0, d.inMilliseconds);
108 Expect.equals(0, d.inSeconds);
109 Expect.equals(0, d.inMinutes);
110 Expect.equals(0, d.inHours);
111 Expect.equals(0, d.inDays);
84 112
85 d = const Duration(days: 1, hours: -24); 113 d = const Duration(days: 1, hours: -24);
86 Expect.equals(0, d.inMilliseconds); 114 Expect.equals(0, d.inMicroseconds);
87 d = new Duration(hours: 1, minutes: -60); 115 d = new Duration(hours: 1, minutes: -60);
88 Expect.equals(0, d.inMilliseconds); 116 Expect.equals(0, d.inMicroseconds);
89 d = const Duration(minutes: 1, seconds: -60); 117 d = const Duration(minutes: 1, seconds: -60);
90 Expect.equals(0, d.inMilliseconds); 118 Expect.equals(0, d.inMicroseconds);
91 d = new Duration(seconds: 1, milliseconds: -1000); 119 d = new Duration(seconds: 1, milliseconds: -1000);
92 Expect.equals(0, d.inMilliseconds); 120 Expect.equals(0, d.inMicroseconds);
121 d = new Duration(milliseconds: 1, microseconds: -1000);
122 Expect.equals(0, d.inMicroseconds);
93 123
94 d = const Duration(hours: 25); 124 d = const Duration(hours: 25);
95 Expect.equals(1, d.inDays); 125 Expect.equals(1, d.inDays);
96 Expect.equals(25, d.inHours); 126 Expect.equals(25, d.inHours);
97 Expect.equals(1500, d.inMinutes); 127 Expect.equals(1500, d.inMinutes);
98 Expect.equals(90000, d.inSeconds); 128 Expect.equals(90000, d.inSeconds);
99 Expect.equals(90000000, d.inMilliseconds); 129 Expect.equals(90000000, d.inMilliseconds);
130 Expect.equals(90000000000, d.inMicroseconds);
100 d = new Duration(minutes: 61); 131 d = new Duration(minutes: 61);
101 Expect.equals(0, d.inDays); 132 Expect.equals(0, d.inDays);
102 Expect.equals(1, d.inHours); 133 Expect.equals(1, d.inHours);
103 Expect.equals(61, d.inMinutes); 134 Expect.equals(61, d.inMinutes);
104 Expect.equals(3660, d.inSeconds); 135 Expect.equals(3660, d.inSeconds);
105 Expect.equals(3660000, d.inMilliseconds); 136 Expect.equals(3660000, d.inMilliseconds);
137 Expect.equals(3660000000, d.inMicroseconds);
106 d = const Duration(seconds: 61); 138 d = const Duration(seconds: 61);
107 Expect.equals(0, d.inDays); 139 Expect.equals(0, d.inDays);
108 Expect.equals(0, d.inHours); 140 Expect.equals(0, d.inHours);
109 Expect.equals(1, d.inMinutes); 141 Expect.equals(1, d.inMinutes);
110 Expect.equals(61, d.inSeconds); 142 Expect.equals(61, d.inSeconds);
111 Expect.equals(61000, d.inMilliseconds); 143 Expect.equals(61000, d.inMilliseconds);
144 Expect.equals(61000000, d.inMicroseconds);
112 d = new Duration(milliseconds: 1001); 145 d = new Duration(milliseconds: 1001);
113 Expect.equals(0, d.inDays); 146 Expect.equals(0, d.inDays);
114 Expect.equals(0, d.inHours); 147 Expect.equals(0, d.inHours);
115 Expect.equals(0, d.inMinutes); 148 Expect.equals(0, d.inMinutes);
116 Expect.equals(1, d.inSeconds); 149 Expect.equals(1, d.inSeconds);
117 Expect.equals(1001, d.inMilliseconds); 150 Expect.equals(1001, d.inMilliseconds);
151 Expect.equals(1001000, d.inMicroseconds);
152 d = new Duration(microseconds: 1001);
153 Expect.equals(0, d.inDays);
154 Expect.equals(0, d.inHours);
155 Expect.equals(0, d.inMinutes);
156 Expect.equals(0, d.inSeconds);
157 Expect.equals(1, d.inMilliseconds);
158 Expect.equals(1001, d.inMicroseconds);
118 159
119 var d1 = const Duration(milliseconds: 1000); 160 var d1 = const Duration(milliseconds: 1000);
120 var d2 = const Duration(seconds: 1); 161 var d2 = const Duration(seconds: 1);
121 Expect.identical(d1, d2); 162 Expect.identical(d1, d2);
122 163
164 d1 = const Duration(microseconds: 1000);
165 d2 = const Duration(milliseconds: 1);
166 Expect.identical(d1, d2);
167
123 d1 = new Duration(hours: 1); 168 d1 = new Duration(hours: 1);
124 d2 = new Duration(hours: -1); 169 d2 = new Duration(hours: -1);
125 d = d1 + d2; 170 d = d1 + d2;
126 Expect.equals(0, d.inMilliseconds); 171 Expect.equals(0, d.inMicroseconds);
127 d = d1 - d2; 172 d = d1 - d2;
128 Expect.equals(3600000 * 2, d.inMilliseconds); 173 Expect.equals(3600000000 * 2, d.inMicroseconds);
129 174
130 d2 = new Duration(hours: 1); 175 d2 = new Duration(hours: 1);
131 d = d1 + d2; 176 d = d1 + d2;
132 Expect.equals(3600000 * 2, d.inMilliseconds); 177 Expect.equals(3600000000 * 2, d.inMicroseconds);
133 d = d1 - d2; 178 d = d1 - d2;
134 Expect.equals(0, d.inMilliseconds); 179 Expect.equals(0, d.inMicroseconds);
135 180
136 d = d1 * 2; 181 d = d1 * 2;
137 Expect.equals(3600000 * 2, d.inMilliseconds); 182 Expect.equals(3600000000 * 2, d.inMicroseconds);
138 d = d1 * -1; 183 d = d1 * -1;
139 Expect.equals(-3600000, d.inMilliseconds); 184 Expect.equals(-3600000000, d.inMicroseconds);
140 d = d1 * 0; 185 d = d1 * 0;
141 Expect.equals(0, d.inMilliseconds); 186 Expect.equals(0, d.inMicroseconds);
142 187
143 d = d1 ~/ 2; 188 d = d1 ~/ 2;
144 Expect.equals(1800000, d.inMilliseconds); 189 Expect.equals(1800000000, d.inMicroseconds);
145 d = d1 ~/ 3600001; 190 d = d1 ~/ 3600000001;
146 Expect.equals(0, d.inMilliseconds); 191 Expect.equals(0, d.inMicroseconds);
147 d = d1 ~/ -3600001; 192 d = d1 ~/ -3600000001;
148 Expect.equals(0, d.inMilliseconds); 193 Expect.equals(0, d.inMicroseconds);
149 d = d1 ~/ 3599999; 194 d = d1 ~/ 3599999999;
150 Expect.equals(1, d.inMilliseconds); 195 Expect.equals(1, d.inMicroseconds);
151 d = d1 ~/ -3599999; 196 d = d1 ~/ -3599999999;
152 Expect.equals(-1, d.inMilliseconds); 197 Expect.equals(-1, d.inMicroseconds);
153 d = d1 ~/ -1; 198 d = d1 ~/ -1;
154 Expect.equals(-3600000, d.inMilliseconds); 199 Expect.equals(-3600000000, d.inMicroseconds);
155 d = d1 * 0; 200 d = d1 * 0;
156 Expect.equals(0, d.inMilliseconds); 201 Expect.equals(0, d.inMicroseconds);
157 Expect.throws(() => d1 ~/ 0, 202 Expect.throws(() => d1 ~/ 0,
158 (e) => e is IntegerDivisionByZeroException); 203 (e) => e is IntegerDivisionByZeroException);
159 204
160 d = new Duration(milliseconds: 0); 205 d = new Duration(microseconds: 0);
161 Expect.isTrue(d < new Duration(milliseconds: 1)); 206 Expect.isTrue(d < new Duration(microseconds: 1));
162 Expect.isTrue(d <= new Duration(milliseconds: 1)); 207 Expect.isTrue(d <= new Duration(microseconds: 1));
163 Expect.isTrue(d <= d); 208 Expect.isTrue(d <= d);
164 Expect.isTrue(d > new Duration(milliseconds: -1)); 209 Expect.isTrue(d > new Duration(microseconds: -1));
165 Expect.isTrue(d >= new Duration(milliseconds: -1)); 210 Expect.isTrue(d >= new Duration(microseconds: -1));
166 Expect.isTrue(d >= d); 211 Expect.isTrue(d >= d);
212
213 d = const Duration(days: 1, hours: 3, minutes: 17, seconds: 42,
214 milliseconds: 823, microseconds: 127);
215 Expect.equals("27:17:42.823127", d.toString());
216
217 d = const Duration(hours: 1999, minutes: 17, seconds: 42);
218 Expect.equals("1999:17:42.000000", d.toString());
219
220 d = const Duration(days: -1, hours: -3, minutes: -17, seconds: -42,
221 milliseconds: -823, microseconds: -127);
222 Expect.equals("-27:17:42.823127", d.toString());
223
224 d = const Duration(hours: -1999, minutes: -17, seconds: -42);
225 Expect.equals("-1999:17:42.000000", d.toString());
167 } 226 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698