// Copyright (c) 2012, 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 'test_utils.dart'; void main() { test('closeTo', () { shouldPass(0, closeTo(0, 1)); shouldPass(-1, closeTo(0, 1)); shouldPass(1, closeTo(0, 1)); shouldFail( 1.001, closeTo(0, 1), 'Expected: a numeric value within <1> of <0> ' 'Actual: <1.001> ' 'Which: differs by <1.001>', ); shouldFail( -1.001, closeTo(0, 1), 'Expected: a numeric value within <1> of <0> ' 'Actual: <-1.001> ' 'Which: differs by <1.001>', ); shouldFail( 'not a num', closeTo(0, 1), endsWith('not an '), ); }); test('inInclusiveRange', () { shouldFail( -1, inInclusiveRange(0, 2), 'Expected: be in range from 0 (inclusive) to 2 (inclusive) ' 'Actual: <-1>', ); shouldPass(0, inInclusiveRange(0, 2)); shouldPass(1, inInclusiveRange(0, 2)); shouldPass(2, inInclusiveRange(0, 2)); shouldFail( 3, inInclusiveRange(0, 2), 'Expected: be in range from 0 (inclusive) to 2 (inclusive) ' 'Actual: <3>', ); shouldFail( 'not a num', inInclusiveRange(0, 1), endsWith('not an '), ); }); test('inExclusiveRange', () { shouldFail( 0, inExclusiveRange(0, 2), 'Expected: be in range from 0 (exclusive) to 2 (exclusive) ' 'Actual: <0>', ); shouldPass(1, inExclusiveRange(0, 2)); shouldFail( 2, inExclusiveRange(0, 2), 'Expected: be in range from 0 (exclusive) to 2 (exclusive) ' 'Actual: <2>', ); shouldFail( 'not a num', inExclusiveRange(0, 1), endsWith('not an '), ); }); test('inOpenClosedRange', () { shouldFail( 0, inOpenClosedRange(0, 2), 'Expected: be in range from 0 (exclusive) to 2 (inclusive) ' 'Actual: <0>', ); shouldPass(1, inOpenClosedRange(0, 2)); shouldPass(2, inOpenClosedRange(0, 2)); shouldFail( 'not a num', inOpenClosedRange(0, 1), endsWith('not an '), ); }); test('inClosedOpenRange', () { shouldPass(0, inClosedOpenRange(0, 2)); shouldPass(1, inClosedOpenRange(0, 2)); shouldFail( 2, inClosedOpenRange(0, 2), 'Expected: be in range from 0 (inclusive) to 2 (exclusive) ' 'Actual: <2>', ); shouldFail( 'not a num', inClosedOpenRange(0, 1), endsWith('not an '), ); }); group('NaN', () { test('inInclusiveRange', () { shouldFail( double.nan, inExclusiveRange(double.negativeInfinity, double.infinity), 'Expected: be in range from ' '-Infinity (exclusive) to Infinity (exclusive) ' 'Actual: ', ); }); }); }