blob: 0597a4b393e8db4676a59d1e636fdd329e48cf06 [file]
// 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' show expect, test, throwsArgumentError;
import 'test_utils.dart';
void main() {
test('anyOf', () {
// with a list
shouldFail(
0,
anyOf([equals(1), equals(2)]),
'Expected: (<1> or <2>) Actual: <0>',
);
shouldPass(1, anyOf([equals(1), equals(2)]));
// with individual items
shouldFail(
0,
anyOf(equals(1), equals(2)),
'Expected: (<1> or <2>) Actual: <0>',
);
shouldPass(1, anyOf(equals(1), equals(2)));
});
test('allOf', () {
// with a list
shouldPass(1, allOf([lessThan(10), greaterThan(0)]));
shouldFail(
-1,
allOf([lessThan(10), greaterThan(0)]),
'Expected: (a value less than <10> and a value greater than <0>) '
'Actual: <-1> '
'Which: is not a value greater than <0>',
);
// with individual items
shouldPass(1, allOf(lessThan(10), greaterThan(0)));
shouldFail(
-1,
allOf(lessThan(10), greaterThan(0)),
'Expected: (a value less than <10> and a value greater than <0>) '
'Actual: <-1> '
'Which: is not a value greater than <0>',
);
// with maximum items
shouldPass(
1,
allOf(
lessThan(10),
lessThan(9),
lessThan(8),
lessThan(7),
lessThan(6),
lessThan(5),
lessThan(4),
),
);
shouldFail(
4,
allOf(
lessThan(10),
lessThan(9),
lessThan(8),
lessThan(7),
lessThan(6),
lessThan(5),
lessThan(4),
),
'Expected: (a value less than <10> and a value less than <9> and a '
'value less than <8> and a value less than <7> and a value less than '
'<6> and a value less than <5> and a value less than <4>) '
'Actual: <4> '
'Which: is not a value less than <4>',
);
});
test('If the first argument is a List, the rest must be null', () {
expect(() => allOf([], 5), throwsArgumentError);
expect(
() => anyOf([], null, null, null, null, null, 42),
throwsArgumentError,
);
});
}