| // 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:matcher/matcher.dart'; |
| 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 <Instance of \'num\'>')); |
| }); |
| |
| 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 <Instance of \'num\'>')); |
| }); |
| |
| 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 <Instance of \'num\'>')); |
| }); |
| |
| 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 <Instance of \'num\'>')); |
| }); |
| |
| 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 <Instance of \'num\'>')); |
| }); |
| } |