OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 import 'package:collection/collection.dart'; |
| 6 import 'package:test/test.dart'; |
| 7 |
| 8 void main() { |
| 9 test("uses the given equality", () { |
| 10 var set = new EqualitySet(const IterableEquality()); |
| 11 expect(set, isEmpty); |
| 12 |
| 13 var list1 = [1, 2, 3]; |
| 14 expect(set.add(list1), isTrue); |
| 15 expect(set, contains([1, 2, 3])); |
| 16 expect(set, contains(same(list1))); |
| 17 |
| 18 var list2 = [1, 2, 3]; |
| 19 expect(set.add(list2), isFalse); |
| 20 expect(set, contains([1, 2, 3])); |
| 21 expect(set, contains(same(list1))); |
| 22 expect(set, isNot(contains(same(list2)))); |
| 23 |
| 24 var list3 = [2, 3, 4]; |
| 25 expect(set.add(list3), isTrue); |
| 26 expect(set, contains(same(list1))); |
| 27 expect(set, contains(same(list3))); |
| 28 }); |
| 29 |
| 30 test("EqualitySet.from() prefers the lattermost equivalent value", () { |
| 31 var list1 = [1, 2, 3]; |
| 32 var list2 = [2, 3, 4]; |
| 33 var list3 = [1, 2, 3]; |
| 34 var list4 = [2, 3, 4]; |
| 35 var list5 = [1, 2, 3]; |
| 36 var list6 = [1, 2, 3]; |
| 37 |
| 38 var set = new EqualitySet.from( |
| 39 const IterableEquality(), [list1, list2, list3, list4, list5, list6]); |
| 40 |
| 41 expect(set, contains(same(list1))); |
| 42 expect(set, contains(same(list2))); |
| 43 expect(set, isNot(contains(same(list3)))); |
| 44 expect(set, isNot(contains(same(list4)))); |
| 45 expect(set, isNot(contains(same(list5)))); |
| 46 expect(set, isNot(contains(same(list6)))); |
| 47 }); |
| 48 } |
OLD | NEW |