| Index: packages/quiver/test/collection/delegates/list_test.dart
|
| diff --git a/packages/quiver/test/collection/delegates/list_test.dart b/packages/quiver/test/collection/delegates/list_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..de48e5dba41d834df9c4298bcb43d272d829d5ba
|
| --- /dev/null
|
| +++ b/packages/quiver/test/collection/delegates/list_test.dart
|
| @@ -0,0 +1,165 @@
|
| +// Copyright 2013 Google Inc. All Rights Reserved.
|
| +//
|
| +// Licensed under the Apache License, Version 2.0 (the "License");
|
| +// you may not use this file except in compliance with the License.
|
| +// You may obtain a copy of the License at
|
| +//
|
| +// http://www.apache.org/licenses/LICENSE-2.0
|
| +//
|
| +// Unless required by applicable law or agreed to in writing, software
|
| +// distributed under the License is distributed on an "AS IS" BASIS,
|
| +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +// See the License for the specific language governing permissions and
|
| +// limitations under the License.
|
| +
|
| +library quiver.collection.delegates.list_test;
|
| +
|
| +import 'package:quiver/collection.dart';
|
| +import 'package:test/test.dart';
|
| +
|
| +class MyList extends DelegatingList<String> {
|
| + final List<String> _delegate;
|
| +
|
| + MyList(this._delegate);
|
| +
|
| + List<String> get delegate => _delegate;
|
| +}
|
| +
|
| +void main() {
|
| + group('DelegatingList', () {
|
| + DelegatingList<String> delegatingList;
|
| +
|
| + setUp(() {
|
| + delegatingList = new MyList(['a', 'b', 'cc']);
|
| + });
|
| +
|
| + test('[]', () {
|
| + expect(delegatingList[0], equals('a'));
|
| + expect(delegatingList[1], equals('b'));
|
| + expect(delegatingList[2], equals('cc'));
|
| + expect(() => delegatingList[3], throws);
|
| + });
|
| +
|
| + test('[]=', () {
|
| + delegatingList[0] = 'd';
|
| + expect(delegatingList, equals(['d', 'b', 'cc']));
|
| + });
|
| +
|
| + test('add', () {
|
| + delegatingList.add('d');
|
| + expect(delegatingList, equals(['a', 'b', 'cc', 'd']));
|
| + });
|
| +
|
| + test('addAll', () {
|
| + delegatingList.addAll(['d', 'e']);
|
| + expect(delegatingList, equals(['a', 'b', 'cc', 'd', 'e']));
|
| + });
|
| +
|
| + test('asMap', () {
|
| + expect(delegatingList.asMap(), equals({0: 'a', 1: 'b', 2: 'cc'}));
|
| + });
|
| +
|
| + test('clear', () {
|
| + delegatingList.clear();
|
| + expect(delegatingList, equals([]));
|
| + });
|
| +
|
| + test('fillRange', () {
|
| + delegatingList.fillRange(0, 2);
|
| + expect(delegatingList, equals([null, null, 'cc']));
|
| + delegatingList.fillRange(0, 2, 'd');
|
| + expect(delegatingList, equals(['d', 'd', 'cc']));
|
| + });
|
| +
|
| + test('getRange', () {
|
| + expect(delegatingList.getRange(1, 2), equals(['b']));
|
| + expect(delegatingList.getRange(1, 3), equals(['b', 'cc']));
|
| + });
|
| +
|
| + test('indexOf', () {
|
| + expect(delegatingList.indexOf('b'), equals(1));
|
| + expect(delegatingList.indexOf('a', 1), equals(-1));
|
| + expect(delegatingList.indexOf('cc', 1), equals(2));
|
| + });
|
| +
|
| + test('insert', () {
|
| + delegatingList.insert(1, 'd');
|
| + expect(delegatingList, equals(['a', 'd', 'b', 'cc']));
|
| + });
|
| +
|
| + test('insertAll', () {
|
| + delegatingList.insertAll(1, ['d', 'e']);
|
| + expect(delegatingList, equals(['a', 'd', 'e', 'b', 'cc']));
|
| + });
|
| +
|
| + test('lastIndexOf', () {
|
| + expect(delegatingList.lastIndexOf('b'), equals(1));
|
| + expect(delegatingList.lastIndexOf('a', 1), equals(0));
|
| + expect(delegatingList.lastIndexOf('cc', 1), equals(-1));
|
| + });
|
| +
|
| + test('set length', () {
|
| + delegatingList.length = 2;
|
| + expect(delegatingList, equals(['a', 'b']));
|
| + });
|
| +
|
| + test('remove', () {
|
| + delegatingList.remove('b');
|
| + expect(delegatingList, equals(['a', 'cc']));
|
| + });
|
| +
|
| + test('removeAt', () {
|
| + delegatingList.removeAt(1);
|
| + expect(delegatingList, equals(['a', 'cc']));
|
| + });
|
| +
|
| + test('removeLast', () {
|
| + delegatingList.removeLast();
|
| + expect(delegatingList, equals(['a', 'b']));
|
| + });
|
| +
|
| + test('removeRange', () {
|
| + delegatingList.removeRange(1, 2);
|
| + expect(delegatingList, equals(['a', 'cc']));
|
| + });
|
| +
|
| + test('removeWhere', () {
|
| + delegatingList.removeWhere((e) => e.length == 1);
|
| + expect(delegatingList, equals(['cc']));
|
| + });
|
| +
|
| + test('replaceRange', () {
|
| + delegatingList.replaceRange(1, 2, ['d', 'e']);
|
| + expect(delegatingList, equals(['a', 'd', 'e', 'cc']));
|
| + });
|
| +
|
| + test('retainWhere', () {
|
| + delegatingList.retainWhere((e) => e.length == 1);
|
| + expect(delegatingList, equals(['a', 'b']));
|
| + });
|
| +
|
| + test('reversed', () {
|
| + expect(delegatingList.reversed, equals(['cc', 'b', 'a']));
|
| + });
|
| +
|
| + test('setAll', () {
|
| + delegatingList.setAll(1, ['d', 'e']);
|
| + expect(delegatingList, equals(['a', 'd', 'e']));
|
| + });
|
| +
|
| + test('setRange', () {
|
| + delegatingList.setRange(1, 3, ['d', 'e']);
|
| + expect(delegatingList, equals(['a', 'd', 'e']));
|
| + });
|
| +
|
| + test('sort', () {
|
| + delegatingList.sort((a, b) => b.codeUnitAt(0) - a.codeUnitAt(0));
|
| + expect(delegatingList, equals(['cc', 'b', 'a']));
|
| + });
|
| +
|
| + test('sublist', () {
|
| + expect(delegatingList.sublist(1), equals(['b', 'cc']));
|
| + expect(delegatingList.sublist(1, 2), equals(['b']));
|
| + });
|
| + });
|
| +}
|
|
|