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