| import 'package:matcher/matcher.dart' |
| show contains, containsValue, containsPair; |
| import 'package:test/test.dart' show test; |
| |
| import 'test_utils.dart'; |
| |
| void main() { |
| test('contains', () { |
| shouldPass({'a': 1}, contains('a')); |
| shouldFail( |
| {'a': 1}, |
| contains(2), |
| 'Expected: contains <2> ' |
| 'Actual: {\'a\': 1}', |
| ); |
| }); |
| |
| test('containsValue', () { |
| shouldPass({'a': 1, 'null': null}, containsValue(1)); |
| shouldPass({'a': 1, 'null': null}, containsValue(null)); |
| shouldFail( |
| {'a': 1, 'null': null}, |
| containsValue(2), |
| 'Expected: contains value <2> ' |
| "Actual: {'a': 1, 'null': null}", |
| ); |
| }); |
| |
| test('containsPair', () { |
| shouldPass({'a': 1, 'null': null}, containsPair('a', 1)); |
| shouldPass({'a': 1, 'null': null}, containsPair('null', null)); |
| shouldFail( |
| {'a': 1, 'null': null}, |
| containsPair('a', 2), |
| "Expected: contains pair 'a' => <2> " |
| "Actual: {'a': 1, 'null': null} " |
| "Which: contains key 'a' but with value is <1>", |
| ); |
| shouldFail( |
| {'a': 1, 'null': null}, |
| containsPair('b', 1), |
| "Expected: contains pair 'b' => <1> " |
| "Actual: {'a': 1, 'null': null} " |
| "Which: doesn't contain key 'b'", |
| ); |
| shouldFail( |
| {'a': 1, 'null': null}, |
| containsPair('null', 2), |
| "Expected: contains pair 'null' => <2> " |
| "Actual: {'a': 1, 'null': null} " |
| "Which: contains key 'null' but with value is <null>", |
| ); |
| shouldFail( |
| {'a': 1, 'null': null}, |
| containsPair('2', null), |
| "Expected: contains pair '2' => <null> " |
| "Actual: {'a': 1, 'null': null} " |
| "Which: doesn't contain key '2'", |
| ); |
| shouldFail( |
| {'a': 1, 'null': null}, |
| containsPair('2', 'b'), |
| "Expected: contains pair '2' => 'b' " |
| "Actual: {'a': 1, 'null': null} " |
| "Which: doesn't contain key '2'", |
| ); |
| }); |
| } |