blob: e02320aa53fb3b9add67abba0472df5f17980b7f [file] [log] [blame]
// Copyright (c) 2022, 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:checks/checks.dart';
import 'package:checks/context.dart';
import 'package:test/scaffolding.dart';
import '../test_shared.dart';
const _testMap = {
'a': 1,
'b': 2,
};
const _testMapString = '{a: 1, b: 2}';
void main() {
test('length', () {
checkThat(_testMap).length.equals(2);
});
test('entries', () {
checkThat(_testMap).entries.any(
(p0) => p0
..has((p0) => p0.key, 'key').equals('a')
..has((p0) => p0.value, 'value').equals(1),
);
});
test('keys', () {
checkThat(_testMap).keys.contains('a');
});
test('values', () {
checkThat(_testMap).values.contains(1);
});
test('isEmpty', () {
checkThat(<String, int>{}).isEmpty();
checkThat(
softCheck<Map<String, int>>(_testMap, (p0) => p0.isEmpty()),
).isARejection(actual: _testMapString, which: ['is not empty']);
});
test('isNotEmpty', () {
checkThat(_testMap).isNotEmpty();
checkThat(
softCheck<Map<String, int>>({}, (p0) => p0.isNotEmpty()),
).isARejection(actual: '{}', which: ['is not empty']);
});
test('containsKey', () {
checkThat(_testMap).containsKey('a');
checkThat(
softCheck<Map<String, int>>(_testMap, (p0) => p0.containsKey('c')),
).isARejection(
actual: _testMapString,
which: ["does not contain key 'c'"],
);
});
test('containsKeyThat', () {
checkThat(_testMap).containsKeyThat((p0) => p0.equals('a'));
checkThat(
softCheck<Map<String, int>>(
_testMap,
(p0) => p0.containsKeyThat((p1) => p1.equals('c')),
),
).isARejection(
actual: _testMapString,
which: ['Contains no matching key'],
);
});
test('containsValue', () {
checkThat(_testMap).containsValue(1);
checkThat(
softCheck<Map<String, int>>(_testMap, (p0) => p0.containsValue(3)),
).isARejection(
actual: _testMapString,
which: ['does not contain value <3>'],
);
});
test('containsValueThat', () {
checkThat(_testMap).containsValueThat((p0) => p0.equals(1));
checkThat(
softCheck<Map<String, int>>(
_testMap, (p0) => p0.containsValueThat((p1) => p1.equals(3))),
).isARejection(
actual: _testMapString,
which: ['Contains no matching value'],
);
});
}