| // 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, |
| ); |
| }); |
| } |