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