blob: ed8bf1ee2fe5f58eef943d209ba0a89966bc43ff [file] [log] [blame]
// Copyright (c) 2013, 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.
// @dart = 2.9
import "package:expect/expect.dart";
main() {
var dt = new DateTime.now();
Expect.isTrue(dt is Comparable);
var dt2 = new DateTime.fromMillisecondsSinceEpoch(100);
var dt3 = new DateTime.fromMillisecondsSinceEpoch(200, isUtc: true);
var dt3b = new DateTime.fromMillisecondsSinceEpoch(200);
var dt4 = new DateTime.fromMillisecondsSinceEpoch(300);
var dt5 = new DateTime.fromMillisecondsSinceEpoch(400, isUtc: true);
var dt5b = new DateTime.fromMillisecondsSinceEpoch(400);
Expect.isTrue(dt2.compareTo(dt2) == 0);
Expect.isTrue(dt3.compareTo(dt3) == 0);
Expect.isTrue(dt3b.compareTo(dt3b) == 0);
Expect.isTrue(dt4.compareTo(dt4) == 0);
Expect.isTrue(dt5.compareTo(dt5) == 0);
Expect.isTrue(dt5b.compareTo(dt5b) == 0);
// Time zones don't have any effect.
Expect.isTrue(dt3.compareTo(dt3b) == 0);
Expect.isTrue(dt5.compareTo(dt5b) == 0);
Expect.isTrue(dt2.compareTo(dt3) < 0);
Expect.isTrue(dt3.compareTo(dt4) < 0);
Expect.isTrue(dt4.compareTo(dt5) < 0);
Expect.isTrue(dt2.compareTo(dt3b) < 0);
Expect.isTrue(dt4.compareTo(dt5b) < 0);
Expect.isTrue(dt3.compareTo(dt2) > 0);
Expect.isTrue(dt4.compareTo(dt3) > 0);
Expect.isTrue(dt5.compareTo(dt4) > 0);
Expect.isTrue(dt3b.compareTo(dt2) > 0);
Expect.isTrue(dt5b.compareTo(dt4) > 0);
}