| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 import "package:expect/expect.dart"; | |
| 6 | |
| 7 main() { | |
| 8 Duration d; | |
| 9 d = new Duration(days: 1); | |
| 10 Expect.equals(86400000000, d.inMicroseconds); | |
| 11 Expect.equals(86400000, d.inMilliseconds); | |
| 12 Expect.equals(86400, d.inSeconds); | |
| 13 Expect.equals(1440, d.inMinutes); | |
| 14 Expect.equals(24, d.inHours); | |
| 15 Expect.equals(1, d.inDays); | |
| 16 d = const Duration(hours: 1); | |
| 17 Expect.equals(3600000000, d.inMicroseconds); | |
| 18 Expect.equals(3600000, d.inMilliseconds); | |
| 19 Expect.equals(3600, d.inSeconds); | |
| 20 Expect.equals(60, d.inMinutes); | |
| 21 Expect.equals(1, d.inHours); | |
| 22 Expect.equals(0, d.inDays); | |
| 23 d = new Duration(minutes: 1); | |
| 24 Expect.equals(60000000, d.inMicroseconds); | |
| 25 Expect.equals(60000, d.inMilliseconds); | |
| 26 Expect.equals(60, d.inSeconds); | |
| 27 Expect.equals(1, d.inMinutes); | |
| 28 Expect.equals(0, d.inHours); | |
| 29 Expect.equals(0, d.inDays); | |
| 30 d = const Duration(seconds: 1); | |
| 31 Expect.equals(1000000, d.inMicroseconds); | |
| 32 Expect.equals(1000, d.inMilliseconds); | |
| 33 Expect.equals(1, d.inSeconds); | |
| 34 Expect.equals(0, d.inMinutes); | |
| 35 Expect.equals(0, d.inHours); | |
| 36 Expect.equals(0, d.inDays); | |
| 37 d = new Duration(milliseconds: 1); | |
| 38 Expect.equals(1000, d.inMicroseconds); | |
| 39 Expect.equals(1, d.inMilliseconds); | |
| 40 Expect.equals(0, d.inSeconds); | |
| 41 Expect.equals(0, d.inMinutes); | |
| 42 Expect.equals(0, d.inHours); | |
| 43 Expect.equals(0, d.inDays); | |
| 44 d = new Duration(microseconds: 1); | |
| 45 Expect.equals(1, d.inMicroseconds); | |
| 46 Expect.equals(0, d.inMilliseconds); | |
| 47 Expect.equals(0, d.inSeconds); | |
| 48 Expect.equals(0, d.inMinutes); | |
| 49 Expect.equals(0, d.inHours); | |
| 50 Expect.equals(0, d.inDays); | |
| 51 | |
| 52 d = const Duration(milliseconds: 1, microseconds: 999); | |
| 53 Expect.equals(1999, d.inMicroseconds); | |
| 54 Expect.equals(1, d.inMilliseconds); | |
| 55 d = const Duration(seconds: 1, milliseconds: 999); | |
| 56 Expect.equals(1999, d.inMilliseconds); | |
| 57 Expect.equals(1, d.inSeconds); | |
| 58 d = new Duration(minutes: 1, seconds: 59); | |
| 59 Expect.equals(119, d.inSeconds); | |
| 60 Expect.equals(1, d.inMinutes); | |
| 61 d = const Duration(hours: 1, minutes: 59); | |
| 62 Expect.equals(119, d.inMinutes); | |
| 63 Expect.equals(1, d.inHours); | |
| 64 d = new Duration(days: 1, hours: 23); | |
| 65 Expect.equals(47, d.inHours); | |
| 66 Expect.equals(1, d.inDays); | |
| 67 d = const Duration( | |
| 68 days: 0, | |
| 69 hours: 23, | |
| 70 minutes: 59, | |
| 71 seconds: 59, | |
| 72 milliseconds: 999, | |
| 73 microseconds: 999); | |
| 74 Expect.equals(0, d.inDays); | |
| 75 | |
| 76 d = new Duration(days: -1); | |
| 77 Expect.equals(-86400000000, d.inMicroseconds); | |
| 78 Expect.equals(-86400000, d.inMilliseconds); | |
| 79 Expect.equals(-86400, d.inSeconds); | |
| 80 Expect.equals(-1440, d.inMinutes); | |
| 81 Expect.equals(-24, d.inHours); | |
| 82 Expect.equals(-1, d.inDays); | |
| 83 d = const Duration(hours: -1); | |
| 84 Expect.equals(-3600000000, d.inMicroseconds); | |
| 85 Expect.equals(-3600000, d.inMilliseconds); | |
| 86 Expect.equals(-3600, d.inSeconds); | |
| 87 Expect.equals(-60, d.inMinutes); | |
| 88 Expect.equals(-1, d.inHours); | |
| 89 Expect.equals(0, d.inDays); | |
| 90 d = new Duration(minutes: -1); | |
| 91 Expect.equals(-60000000, d.inMicroseconds); | |
| 92 Expect.equals(-60000, d.inMilliseconds); | |
| 93 Expect.equals(-60, d.inSeconds); | |
| 94 Expect.equals(-1, d.inMinutes); | |
| 95 Expect.equals(0, d.inHours); | |
| 96 Expect.equals(0, d.inDays); | |
| 97 d = const Duration(seconds: -1); | |
| 98 Expect.equals(-1000000, d.inMicroseconds); | |
| 99 Expect.equals(-1000, d.inMilliseconds); | |
| 100 Expect.equals(-1, d.inSeconds); | |
| 101 Expect.equals(0, d.inMinutes); | |
| 102 Expect.equals(0, d.inHours); | |
| 103 Expect.equals(0, d.inDays); | |
| 104 d = new Duration(milliseconds: -1); | |
| 105 Expect.equals(-1000, d.inMicroseconds); | |
| 106 Expect.equals(-1, d.inMilliseconds); | |
| 107 Expect.equals(0, d.inSeconds); | |
| 108 Expect.equals(0, d.inMinutes); | |
| 109 Expect.equals(0, d.inHours); | |
| 110 Expect.equals(0, d.inDays); | |
| 111 d = new Duration(microseconds: -1); | |
| 112 Expect.equals(-1, d.inMicroseconds); | |
| 113 Expect.equals(0, d.inMilliseconds); | |
| 114 Expect.equals(0, d.inSeconds); | |
| 115 Expect.equals(0, d.inMinutes); | |
| 116 Expect.equals(0, d.inHours); | |
| 117 Expect.equals(0, d.inDays); | |
| 118 | |
| 119 d = const Duration(days: 1, hours: -24); | |
| 120 Expect.equals(0, d.inMicroseconds); | |
| 121 d = new Duration(hours: 1, minutes: -60); | |
| 122 Expect.equals(0, d.inMicroseconds); | |
| 123 d = const Duration(minutes: 1, seconds: -60); | |
| 124 Expect.equals(0, d.inMicroseconds); | |
| 125 d = new Duration(seconds: 1, milliseconds: -1000); | |
| 126 Expect.equals(0, d.inMicroseconds); | |
| 127 d = new Duration(milliseconds: 1, microseconds: -1000); | |
| 128 Expect.equals(0, d.inMicroseconds); | |
| 129 | |
| 130 d = const Duration(hours: 25); | |
| 131 Expect.equals(1, d.inDays); | |
| 132 Expect.equals(25, d.inHours); | |
| 133 Expect.equals(1500, d.inMinutes); | |
| 134 Expect.equals(90000, d.inSeconds); | |
| 135 Expect.equals(90000000, d.inMilliseconds); | |
| 136 Expect.equals(90000000000, d.inMicroseconds); | |
| 137 d = new Duration(minutes: 61); | |
| 138 Expect.equals(0, d.inDays); | |
| 139 Expect.equals(1, d.inHours); | |
| 140 Expect.equals(61, d.inMinutes); | |
| 141 Expect.equals(3660, d.inSeconds); | |
| 142 Expect.equals(3660000, d.inMilliseconds); | |
| 143 Expect.equals(3660000000, d.inMicroseconds); | |
| 144 d = const Duration(seconds: 61); | |
| 145 Expect.equals(0, d.inDays); | |
| 146 Expect.equals(0, d.inHours); | |
| 147 Expect.equals(1, d.inMinutes); | |
| 148 Expect.equals(61, d.inSeconds); | |
| 149 Expect.equals(61000, d.inMilliseconds); | |
| 150 Expect.equals(61000000, d.inMicroseconds); | |
| 151 d = new Duration(milliseconds: 1001); | |
| 152 Expect.equals(0, d.inDays); | |
| 153 Expect.equals(0, d.inHours); | |
| 154 Expect.equals(0, d.inMinutes); | |
| 155 Expect.equals(1, d.inSeconds); | |
| 156 Expect.equals(1001, d.inMilliseconds); | |
| 157 Expect.equals(1001000, d.inMicroseconds); | |
| 158 d = new Duration(microseconds: 1001); | |
| 159 Expect.equals(0, d.inDays); | |
| 160 Expect.equals(0, d.inHours); | |
| 161 Expect.equals(0, d.inMinutes); | |
| 162 Expect.equals(0, d.inSeconds); | |
| 163 Expect.equals(1, d.inMilliseconds); | |
| 164 Expect.equals(1001, d.inMicroseconds); | |
| 165 | |
| 166 var d1 = const Duration(milliseconds: 1000); | |
| 167 var d2 = const Duration(seconds: 1); | |
| 168 Expect.identical(d1, d2); | |
| 169 | |
| 170 d1 = const Duration(microseconds: 1000); | |
| 171 d2 = const Duration(milliseconds: 1); | |
| 172 Expect.identical(d1, d2); | |
| 173 | |
| 174 d1 = new Duration(hours: 1); | |
| 175 d2 = new Duration(hours: -1); | |
| 176 d = d1 + d2; | |
| 177 Expect.equals(0, d.inMicroseconds); | |
| 178 d = d1 - d2; | |
| 179 Expect.equals(3600000000 * 2, d.inMicroseconds); | |
| 180 | |
| 181 d2 = new Duration(hours: 1); | |
| 182 d = d1 + d2; | |
| 183 Expect.equals(3600000000 * 2, d.inMicroseconds); | |
| 184 d = d1 - d2; | |
| 185 Expect.equals(0, d.inMicroseconds); | |
| 186 | |
| 187 d = d1 * 2; | |
| 188 Expect.equals(3600000000 * 2, d.inMicroseconds); | |
| 189 d = d1 * -1; | |
| 190 Expect.equals(-3600000000, d.inMicroseconds); | |
| 191 d = d1 * 0; | |
| 192 Expect.equals(0, d.inMicroseconds); | |
| 193 | |
| 194 d = d1 ~/ 2; | |
| 195 Expect.equals(1800000000, d.inMicroseconds); | |
| 196 d = d1 ~/ 3600000001; | |
| 197 Expect.equals(0, d.inMicroseconds); | |
| 198 d = d1 ~/ -3600000001; | |
| 199 Expect.equals(0, d.inMicroseconds); | |
| 200 d = d1 ~/ 3599999999; | |
| 201 Expect.equals(1, d.inMicroseconds); | |
| 202 d = d1 ~/ -3599999999; | |
| 203 Expect.equals(-1, d.inMicroseconds); | |
| 204 d = d1 ~/ -1; | |
| 205 Expect.equals(-3600000000, d.inMicroseconds); | |
| 206 d = d1 * 0; | |
| 207 Expect.equals(0, d.inMicroseconds); | |
| 208 Expect.throws(() => d1 ~/ 0, (e) => e is IntegerDivisionByZeroException); | |
| 209 | |
| 210 d = new Duration(microseconds: 0); | |
| 211 Expect.isTrue(d < new Duration(microseconds: 1)); | |
| 212 Expect.isTrue(d <= new Duration(microseconds: 1)); | |
| 213 Expect.isTrue(d <= d); | |
| 214 Expect.isTrue(d > new Duration(microseconds: -1)); | |
| 215 Expect.isTrue(d >= new Duration(microseconds: -1)); | |
| 216 Expect.isTrue(d >= d); | |
| 217 | |
| 218 d = const Duration( | |
| 219 days: 1, | |
| 220 hours: 3, | |
| 221 minutes: 17, | |
| 222 seconds: 42, | |
| 223 milliseconds: 823, | |
| 224 microseconds: 127); | |
| 225 Expect.equals("27:17:42.823127", d.toString()); | |
| 226 | |
| 227 d = const Duration(hours: 1999, minutes: 17, seconds: 42); | |
| 228 Expect.equals("1999:17:42.000000", d.toString()); | |
| 229 | |
| 230 d = const Duration( | |
| 231 days: -1, | |
| 232 hours: -3, | |
| 233 minutes: -17, | |
| 234 seconds: -42, | |
| 235 milliseconds: -823, | |
| 236 microseconds: -127); | |
| 237 Expect.equals("-27:17:42.823127", d.toString()); | |
| 238 | |
| 239 d = const Duration(hours: -1999, minutes: -17, seconds: -42); | |
| 240 Expect.equals("-1999:17:42.000000", d.toString()); | |
| 241 | |
| 242 // Edge conditions for toString of microseconds. | |
| 243 // Regression test for http://dartbug.com/15678 | |
| 244 | |
| 245 d = const Duration(microseconds: 1); | |
| 246 Expect.equals("0:00:00.000001", d.toString()); | |
| 247 | |
| 248 d = const Duration(microseconds: 9); | |
| 249 Expect.equals("0:00:00.000009", d.toString()); | |
| 250 | |
| 251 d = const Duration(microseconds: 10); | |
| 252 Expect.equals("0:00:00.000010", d.toString()); | |
| 253 | |
| 254 d = const Duration(microseconds: 99); | |
| 255 Expect.equals("0:00:00.000099", d.toString()); | |
| 256 | |
| 257 d = const Duration(microseconds: 100); | |
| 258 Expect.equals("0:00:00.000100", d.toString()); | |
| 259 | |
| 260 d = const Duration(microseconds: 999); | |
| 261 Expect.equals("0:00:00.000999", d.toString()); | |
| 262 | |
| 263 d = const Duration(microseconds: 1000); | |
| 264 Expect.equals("0:00:00.001000", d.toString()); | |
| 265 | |
| 266 d = const Duration(microseconds: 9999); | |
| 267 Expect.equals("0:00:00.009999", d.toString()); | |
| 268 | |
| 269 d = const Duration(microseconds: 10000); | |
| 270 Expect.equals("0:00:00.010000", d.toString()); | |
| 271 | |
| 272 d = const Duration(microseconds: 99999); | |
| 273 Expect.equals("0:00:00.099999", d.toString()); | |
| 274 | |
| 275 d = const Duration(microseconds: 100000); | |
| 276 Expect.equals("0:00:00.100000", d.toString()); | |
| 277 | |
| 278 d = const Duration(microseconds: 999999); | |
| 279 Expect.equals("0:00:00.999999", d.toString()); | |
| 280 | |
| 281 d = const Duration(microseconds: 1000000); | |
| 282 Expect.equals("0:00:01.000000", d.toString()); | |
| 283 | |
| 284 d1 = const Duration(hours: 1); | |
| 285 d2 = const Duration(hours: -1); | |
| 286 Expect.isFalse(d1.isNegative); | |
| 287 Expect.isTrue(d2.isNegative); | |
| 288 Expect.equals(d1, d1.abs()); | |
| 289 Expect.equals(d1, d2.abs()); | |
| 290 | |
| 291 Expect.equals(d2, -d1); | |
| 292 Expect.equals(d1, -d2); | |
| 293 } | |
| OLD | NEW |