blob: 23788e98301a950c0fdd988e465dece6935c24e9 [file] [log] [blame]
// Copyright (c) 2017, 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.
import 'package:test/test.dart';
import 'utils.dart';
void main() {
test('floorAndCeilProduceExactSecondDateTime', () {
var time = DateTime.fromMicrosecondsSinceEpoch(1001);
var lower = floor(time);
var upper = ceil(time);
expect(lower.millisecond, 0);
expect(upper.millisecond, 0);
expect(lower.microsecond, 0);
expect(upper.microsecond, 0);
});
test('floorAndCeilWorkWithNow', () {
var time = DateTime.now();
var lower = time.difference(floor(time)).inMicroseconds;
var upper = ceil(time).difference(time).inMicroseconds;
expect(lower, lessThan(1000000));
expect(upper, lessThanOrEqualTo(1000000));
});
test('floorAndCeilWorkWithExactSecondDateTime', () {
var time = DateTime.parse('1999-12-31 23:59:59');
var lower = floor(time);
var upper = ceil(time);
expect(lower, time);
expect(upper, time);
});
test('floorAndCeilWorkWithInexactSecondDateTime', () {
var time = DateTime.parse('1999-12-31 23:59:59.500');
var lower = floor(time);
var upper = ceil(time);
var difference = upper.difference(lower);
expect(difference.inMicroseconds, 1000000);
});
}