| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // ignore_for_file: implementation_imports |
| import 'package:lib.app.dart/logging.dart'; |
| import 'package:sledge/src/document/values/set_value.dart'; |
| import 'package:test/test.dart'; |
| |
| import 'set_api_tester.dart'; |
| |
| void main() { |
| setupLogger(); |
| |
| group('Set API coverage', () { |
| SetApiTester<SetValue>(() => SetValue<int>()) |
| ..testApi() |
| ..testObserver(); |
| }); |
| |
| test('SetValue add and contains.', () { |
| var s = SetValue<int>(); |
| expect(s.contains(0), equals(false)); |
| expect(s.add(0), equals(true)); |
| expect(s.contains(0), equals(true)); |
| }); |
| |
| test('SetValue add twice and contains.', () { |
| var s = SetValue<int>(); |
| expect(s.contains(0), equals(false)); |
| expect(s.add(0), equals(true)); |
| expect(s.add(0), equals(false)); |
| expect(s.contains(0), equals(true)); |
| }); |
| |
| test('SetValue remove.', () { |
| var s = SetValue<int>(); |
| expect(s.remove(2), equals(false)); |
| expect(s.add(2), equals(true)); |
| expect(s.remove(2), equals(true)); |
| expect(s.remove(2), equals(false)); |
| expect(s.add(2), equals(true)); |
| }); |
| |
| test('SetValue add, put, contains, remove.', () { |
| var s = SetValue<String>(); |
| expect(s.contains('-'), equals(false)); |
| expect(s.add('-'), equals(true)); |
| expect(s.add('-'), equals(false)); |
| s.getChange(); |
| expect(s.add('-'), equals(false)); |
| expect(s.remove('-'), equals(true)); |
| expect(s.remove('-'), equals(false)); |
| s.getChange(); |
| expect(s.remove('-'), equals(false)); |
| expect(s.add('-'), equals(true)); |
| expect(s.add('-'), equals(false)); |
| }); |
| } |