blob: 36c1bcf1fe236a32a604e0ec9e993ce309ccd6da [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// @assertion Duration operator ~/(int quotient)
/// Divides this Duration by the given quotient and returns the truncated result
/// as a new Duration.
/// @description Checks that duration calculation is correct
/// @author kaigorodov
import "../../../Utils/expect.dart";
void check(int d, int h, int m, int s, int ms, int q) {
Expect.equals(
(d * 24 * 3600000 + h * 3600000 + m * 60000 + s * 1000 + ms) ~/ q,
(new Duration(days: d, hours: h, minutes: m, seconds: s, milliseconds: ms)
~/ q).inMilliseconds);
}
int seed = 1234567;
int nextRand() {
seed = 0x3fffffff & ((seed >> 17) + seed * 199933 + 11);
return (seed >> 5) & 127;
}
main() {
for (int k = 0; k < 100; k++) {
check(nextRand(), nextRand(), nextRand(), nextRand(), nextRand(),
nextRand() + 1);
}
}