| Index: packages/matcher/lib/src/numeric_matchers.dart
|
| diff --git a/packages/matcher/lib/src/numeric_matchers.dart b/packages/matcher/lib/src/numeric_matchers.dart
|
| index 770999d61c8de149e42e696962423308d765255c..e8651de0e7b44bcad0fc5aaeac92d4c3211865d1 100644
|
| --- a/packages/matcher/lib/src/numeric_matchers.dart
|
| +++ b/packages/matcher/lib/src/numeric_matchers.dart
|
| @@ -2,107 +2,8 @@
|
| // 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;
|
| -
|
| import 'interfaces.dart';
|
|
|
| -/// Returns a matcher which matches if the match argument is greater
|
| -/// than the given [value].
|
| -Matcher greaterThan(value) =>
|
| - new _OrderingComparison(value, false, false, true, 'a value greater than');
|
| -
|
| -/// Returns a matcher which matches if the match argument is greater
|
| -/// than or equal to the given [value].
|
| -Matcher greaterThanOrEqualTo(value) => new _OrderingComparison(
|
| - value, true, false, true, 'a value greater than or equal to');
|
| -
|
| -/// Returns a matcher which matches if the match argument is less
|
| -/// than the given [value].
|
| -Matcher lessThan(value) =>
|
| - new _OrderingComparison(value, false, true, false, 'a value less than');
|
| -
|
| -/// Returns a matcher which matches if the match argument is less
|
| -/// than or equal to the given [value].
|
| -Matcher lessThanOrEqualTo(value) => new _OrderingComparison(
|
| - value, true, true, false, 'a value less than or equal to');
|
| -
|
| -/// A matcher which matches if the match argument is zero.
|
| -const Matcher isZero =
|
| - const _OrderingComparison(0, true, false, false, 'a value equal to');
|
| -
|
| -/// A matcher which matches if the match argument is non-zero.
|
| -const Matcher isNonZero =
|
| - const _OrderingComparison(0, false, true, true, 'a value not equal to');
|
| -
|
| -/// A matcher which matches if the match argument is positive.
|
| -const Matcher isPositive =
|
| - const _OrderingComparison(0, false, false, true, 'a positive value', false);
|
| -
|
| -/// A matcher which matches if the match argument is zero or negative.
|
| -const Matcher isNonPositive = const _OrderingComparison(
|
| - 0, true, true, false, 'a non-positive value', false);
|
| -
|
| -/// A matcher which matches if the match argument is negative.
|
| -const Matcher isNegative =
|
| - const _OrderingComparison(0, false, true, false, 'a negative value', false);
|
| -
|
| -/// A matcher which matches if the match argument is zero or positive.
|
| -const Matcher isNonNegative = const _OrderingComparison(
|
| - 0, true, false, true, 'a non-negative value', false);
|
| -
|
| -bool _isNumeric(value) {
|
| - return value is num;
|
| -}
|
| -
|
| -// TODO(kevmoo) Note that matchers that use _OrderingComparison only use
|
| -// `==` and `<` operators to evaluate the match. Or change the matcher.
|
| -class _OrderingComparison extends Matcher {
|
| - /// Expected value.
|
| - final _value;
|
| - /// What to return if actual == expected
|
| - final bool _equalValue;
|
| - /// What to return if actual < expected
|
| - final bool _lessThanValue;
|
| - /// What to return if actual > expected
|
| - final bool _greaterThanValue;
|
| - /// Textual name of the inequality
|
| - final String _comparisonDescription;
|
| - /// Whether to include the expected value in the description
|
| - final bool _valueInDescription;
|
| -
|
| - const _OrderingComparison(this._value, this._equalValue, this._lessThanValue,
|
| - this._greaterThanValue, this._comparisonDescription,
|
| - [bool valueInDescription = true])
|
| - : this._valueInDescription = valueInDescription;
|
| -
|
| - bool matches(item, Map matchState) {
|
| - if (item == _value) {
|
| - return _equalValue;
|
| - } else if (item < _value) {
|
| - return _lessThanValue;
|
| - } else {
|
| - return _greaterThanValue;
|
| - }
|
| - }
|
| -
|
| - Description describe(Description description) {
|
| - if (_valueInDescription) {
|
| - return description
|
| - .add(_comparisonDescription)
|
| - .add(' ')
|
| - .addDescriptionOf(_value);
|
| - } else {
|
| - return description.add(_comparisonDescription);
|
| - }
|
| - }
|
| -
|
| - Description describeMismatch(
|
| - item, Description mismatchDescription, Map matchState, bool verbose) {
|
| - mismatchDescription.add('is not ');
|
| - return describe(mismatchDescription);
|
| - }
|
| -}
|
| -
|
| /// Returns a matcher which matches if the match argument is within [delta]
|
| /// of some [value].
|
| ///
|
| @@ -116,9 +17,8 @@ class _IsCloseTo extends Matcher {
|
| const _IsCloseTo(this._value, this._delta);
|
|
|
| bool matches(item, Map matchState) {
|
| - if (!_isNumeric(item)) {
|
| - return false;
|
| - }
|
| + if (item is! num) return false;
|
| +
|
| var diff = item - _value;
|
| if (diff < 0) diff = -diff;
|
| return (diff <= _delta);
|
| @@ -185,18 +85,18 @@ class _InRange extends Matcher {
|
| return true;
|
| }
|
|
|
| - Description describe(Description description) => description.add(
|
| - "be in range from "
|
| - "$_low (${_lowMatchValue ? 'inclusive' : 'exclusive'}) to "
|
| - "$_high (${_highMatchValue ? 'inclusive' : 'exclusive'})");
|
| + Description describe(Description description) =>
|
| + description.add("be in range from "
|
| + "$_low (${_lowMatchValue ? 'inclusive' : 'exclusive'}) to "
|
| + "$_high (${_highMatchValue ? 'inclusive' : 'exclusive'})");
|
|
|
| Description describeMismatch(
|
| item, Description mismatchDescription, Map matchState, bool verbose) {
|
| if (item is! num) {
|
| return mismatchDescription.addDescriptionOf(item).add(' not numeric');
|
| } else {
|
| - return super.describeMismatch(
|
| - item, mismatchDescription, matchState, verbose);
|
| + return super
|
| + .describeMismatch(item, mismatchDescription, matchState, verbose);
|
| }
|
| }
|
| }
|
|
|