Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: packages/quiver/test/collection/delegates/list_test.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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']));
+ });
+ });
+}
« no previous file with comments | « packages/quiver/test/collection/delegates/iterable_test.dart ('k') | packages/quiver/test/collection/delegates/map_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698