blob: 7ced6b4b920aa1b051fe499cd5e0982b591888e5 [file] [log] [blame]
// 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.
library matcher.numeric_matchers_test;
import 'package:matcher/matcher.dart';
import 'package:unittest/unittest.dart' show test, group;
import 'test_utils.dart';
void main() {
initUtils();
test('greaterThan', () {
shouldPass(10, greaterThan(9));
shouldFail(9, greaterThan(10), "Expected: a value greater than <10> "
"Actual: <9> "
"Which: is not a value greater than <10>");
});
test('greaterThanOrEqualTo', () {
shouldPass(10, greaterThanOrEqualTo(10));
shouldFail(9, greaterThanOrEqualTo(10),
"Expected: a value greater than or equal to <10> "
"Actual: <9> "
"Which: is not a value greater than or equal to <10>");
});
test('lessThan', () {
shouldFail(10, lessThan(9), "Expected: a value less than <9> "
"Actual: <10> "
"Which: is not a value less than <9>");
shouldPass(9, lessThan(10));
});
test('lessThanOrEqualTo', () {
shouldPass(10, lessThanOrEqualTo(10));
shouldFail(11, lessThanOrEqualTo(10),
"Expected: a value less than or equal to <10> "
"Actual: <11> "
"Which: is not a value less than or equal to <10>");
});
test('isZero', () {
shouldPass(0, isZero);
shouldFail(1, isZero, "Expected: a value equal to <0> "
"Actual: <1> "
"Which: is not a value equal to <0>");
});
test('isNonZero', () {
shouldFail(0, isNonZero, "Expected: a value not equal to <0> "
"Actual: <0> "
"Which: is not a value not equal to <0>");
shouldPass(1, isNonZero);
});
test('isPositive', () {
shouldFail(-1, isPositive, "Expected: a positive value "
"Actual: <-1> "
"Which: is not a positive value");
shouldFail(0, isPositive, "Expected: a positive value "
"Actual: <0> "
"Which: is not a positive value");
shouldPass(1, isPositive);
});
test('isNegative', () {
shouldPass(-1, isNegative);
shouldFail(0, isNegative, "Expected: a negative value "
"Actual: <0> "
"Which: is not a negative value");
});
test('isNonPositive', () {
shouldPass(-1, isNonPositive);
shouldPass(0, isNonPositive);
shouldFail(1, isNonPositive, "Expected: a non-positive value "
"Actual: <1> "
"Which: is not a non-positive value");
});
test('isNonNegative', () {
shouldPass(1, isNonNegative);
shouldPass(0, isNonNegative);
shouldFail(-1, isNonNegative, "Expected: a non-negative value "
"Actual: <-1> "
"Which: is not a non-negative value");
});
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>");
});
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>");
});
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>");
});
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));
});
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>");
});
}