| // 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/map_value.dart'; |
| import 'package:test/test.dart'; |
| |
| import 'map_api_tester.dart'; |
| |
| void main() { |
| setupLogger(); |
| |
| group('Map API coverage', () { |
| MapApiTester<MapValue>(() => MapValue<int, int>()) |
| ..testApi() |
| ..testObserver(); |
| }); |
| |
| test('MapValue get and set.', () { |
| var m = MapValue<int, int>(); |
| expect(m[0], equals(null)); |
| expect(m[3], equals(null)); |
| m[2] = 1; |
| m[0] = 3; |
| expect(m[2], equals(1)); |
| expect(m[0], equals(3)); |
| m[0] = 1; |
| expect(m[1], equals(null)); |
| expect(m[0], equals(1)); |
| }); |
| |
| test('MapValue get, set and remove.', () { |
| var m = MapValue<int, int>(); |
| expect(m[0], equals(null)); |
| m[0] = 3; |
| expect(m[0], equals(3)); |
| m.remove(0); |
| expect(m[0], equals(null)); |
| m.getChange(); |
| expect(m[0], equals(null)); |
| m[0] = 2; |
| expect(m[0], equals(2)); |
| m.remove(0); |
| expect(m[0], equals(null)); |
| m[0] = 1; |
| expect(m[0], equals(1)); |
| m.getChange(); |
| expect(m[0], equals(1)); |
| }); |
| } |