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

Unified Diff: tests/corelib/queue_test.dart

Issue 2987203002: Migrated test block 17 to Dart 2.0. (Closed)
Patch Set: Removed tests that are no longer useful for Dart 2.0 Created 3 years, 5 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
« no previous file with comments | « tests/corelib/queue_single_test.dart ('k') | tests/corelib_2/corelib_2.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/corelib/queue_test.dart
diff --git a/tests/corelib/queue_test.dart b/tests/corelib/queue_test.dart
deleted file mode 100644
index b169bcf36a4d7dd0a7d0a7cecc50803be0156208..0000000000000000000000000000000000000000
--- a/tests/corelib/queue_test.dart
+++ /dev/null
@@ -1,488 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library queue.test;
-
-import "package:expect/expect.dart";
-import 'dart:collection';
-
-abstract class QueueTest {
- Queue newQueue();
- Queue newQueueFrom(Iterable iterable);
-
- void testMain() {
- Queue queue = newQueue();
- checkQueue(queue, 0, 0);
-
- queue.addFirst(1);
- checkQueue(queue, 1, 1);
-
- queue.addLast(10);
- checkQueue(queue, 2, 11);
-
- Expect.equals(10, queue.removeLast());
- checkQueue(queue, 1, 1);
-
- queue.addLast(10);
- Expect.equals(1, queue.removeFirst());
- checkQueue(queue, 1, 10);
-
- queue.addFirst(1);
- queue.addLast(100);
- queue.addLast(1000);
- Expect.equals(1000, queue.removeLast());
- queue.addLast(1000);
- checkQueue(queue, 4, 1111);
-
- queue.removeFirst();
- checkQueue(queue, 3, 1110);
-
- int mapTest(int value) {
- return value ~/ 10;
- }
-
- bool is10(int value) {
- return (value == 10);
- }
-
- Queue mapped = newQueueFrom(queue.map(mapTest));
- checkQueue(mapped, 3, 111);
- checkQueue(queue, 3, 1110);
- Expect.equals(1, mapped.removeFirst());
- Expect.equals(100, mapped.removeLast());
- Expect.equals(10, mapped.removeFirst());
-
- Queue other = newQueueFrom(queue.where(is10));
- checkQueue(other, 1, 10);
-
- Expect.equals(true, queue.any(is10));
-
- bool isInstanceOfInt(int value) {
- return (value is int);
- }
-
- Expect.equals(true, queue.every(isInstanceOfInt));
-
- Expect.equals(false, queue.every(is10));
-
- bool is1(int value) {
- return (value == 1);
- }
-
- Expect.equals(false, queue.any(is1));
-
- queue.clear();
- Expect.equals(0, queue.length);
-
- var exception = null;
- try {
- queue.removeFirst();
- } on StateError catch (e) {
- exception = e;
- }
- Expect.equals(true, exception != null);
- Expect.equals(0, queue.length);
-
- exception = null;
- try {
- queue.removeLast();
- } on StateError catch (e) {
- exception = e;
- }
- Expect.equals(true, exception != null);
- Expect.equals(0, queue.length);
-
- queue.addFirst(1);
- queue.addFirst(2);
- Expect.equals(2, queue.first);
- Expect.equals(1, queue.last);
-
- queue.addLast(3);
- Expect.equals(3, queue.last);
- bool isGreaterThanOne(int value) {
- return (value > 1);
- }
-
- other = newQueueFrom(queue.where(isGreaterThanOne));
- checkQueue(other, 2, 5);
-
- // Cycle through values without ever having large element count.
- queue = newQueue();
- queue.add(0);
- for (int i = 0; i < 255; i++) {
- queue.add(i + 1);
- Expect.equals(i, queue.removeFirst());
- }
- Expect.equals(255, queue.removeFirst());
- Expect.isTrue(queue.isEmpty);
-
- testAddAll();
- testLengthChanges();
- testLarge();
- testFromListToList();
- }
-
- void checkQueue(Queue queue, int expectedSize, int expectedSum) {
- testLength(expectedSize, queue);
- int sum = 0;
- void sumElements(int value) {
- sum += value;
- }
-
- queue.forEach(sumElements);
- Expect.equals(expectedSum, sum);
- }
-
- testLength(int length, Queue queue) {
- Expect.equals(length, queue.length);
- ((length == 0) ? Expect.isTrue : Expect.isFalse)(queue.isEmpty);
- ((length != 0) ? Expect.isTrue : Expect.isFalse)(queue.isNotEmpty);
- }
-
- void testAddAll() {
- Set<int> set = new Set<int>.from([1, 2, 4]);
- Expect.equals(3, set.length);
-
- Queue queue1 = newQueueFrom(set);
- Queue queue2 = newQueue();
- Queue queue3 = newQueue();
- testLength(3, queue1);
- testLength(0, queue2);
- testLength(0, queue3);
-
- queue2.addAll(set);
- testLength(3, queue2);
-
- queue3.addAll(queue1);
- testLength(3, queue3);
-
- int sum = 0;
- void f(e) {
- sum += e;
- }
-
- ;
-
- set.forEach(f);
- Expect.equals(7, sum);
- sum = 0;
-
- queue1.forEach(f);
- Expect.equals(7, sum);
- sum = 0;
-
- queue2.forEach(f);
- Expect.equals(7, sum);
- sum = 0;
-
- queue3.forEach(f);
- Expect.equals(7, sum);
- sum = 0;
-
- set = new Set<int>.from([]);
- queue1 = newQueueFrom(set);
- queue2 = newQueue();
- queue3 = newQueue();
-
- queue2.addAll(set);
- queue3.addAll(queue1);
-
- Expect.equals(0, set.length);
- Expect.equals(0, queue1.length);
- Expect.equals(0, queue2.length);
- Expect.equals(0, queue3.length);
- }
-
- void testLengthChanges() {
- // Test that the length property is updated properly by
- // modifications;
- Queue queue = newQueue();
- testLength(0, queue);
-
- for (int i = 1; i <= 10; i++) {
- queue.add(i);
- testLength(i, queue);
- }
-
- for (int i = 1; i <= 10; i++) {
- queue.addFirst(11 - i);
- testLength(10 + i, queue);
- }
-
- for (int i = 1; i <= 10; i++) {
- queue.addLast(i);
- testLength(20 + i, queue);
- }
-
- queue.addAll([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
- testLength(40, queue);
-
- for (int i = 1; i <= 5; i++) {
- Expect.equals(i, queue.removeFirst());
- testLength(40 - i, queue);
- }
-
- for (int i = 1; i <= 5; i++) {
- Expect.equals(11 - i, queue.removeLast());
- testLength(35 - i, queue);
- }
-
- Expect.isTrue(queue.remove(10));
- testLength(29, queue);
- Expect.isFalse(queue.remove(999));
- testLength(29, queue);
-
- queue.removeWhere((x) => x == 7);
- testLength(26, queue);
-
- queue.retainWhere((x) => x != 3);
- testLength(23, queue);
-
- Expect.listEquals(
- [6, 8, 9, 1, 2, 4, 5, 6, 8, 9, 10, 1, 2, 4, 5, 6, 8, 9, 10, 1, 2, 4, 5],
- queue.toList());
-
- // Regression test: http://dartbug.com/16270
- // These should all do nothing, and should not throw.
- Queue emptyQueue = newQueue();
- emptyQueue.remove(0);
- emptyQueue.removeWhere((x) => null);
- emptyQueue.retainWhere((x) => null);
- }
-
- void testLarge() {
- int N = 10000;
- Set set = new Set();
-
- Queue queue = newQueue();
- Expect.isTrue(queue.isEmpty);
-
- for (int i = 0; i < N; i++) {
- queue.add(i);
- set.add(i);
- }
- Expect.equals(N, queue.length);
- Expect.isFalse(queue.isEmpty);
-
- Expect.equals(0, queue.elementAt(0));
- Expect.equals(N - 1, queue.elementAt(N - 1));
- Expect.throws(() {
- queue.elementAt(-1);
- });
- Expect.throws(() {
- queue.elementAt(N);
- });
-
- Iterable skip1 = queue.skip(1);
- Iterable take1 = queue.take(1);
- Iterable mapped = queue.map((e) => -e);
-
- for (int i = 0; i < 500; i++) {
- Expect.equals(i, take1.first);
- Expect.equals(i, queue.first);
- Expect.equals(-i, mapped.first);
- Expect.equals(i + 1, skip1.first);
- Expect.equals(i, queue.removeFirst());
- Expect.equals(i + 1, take1.first);
- Expect.equals(-i - 1, mapped.first);
- Expect.equals(N - 1 - i, queue.last);
- Expect.equals(N - 1 - i, queue.removeLast());
- }
- Expect.equals(N - 1000, queue.length);
-
- Expect.isTrue(queue.remove(N >> 1));
- Expect.equals(N - 1001, queue.length);
-
- queue.clear();
- Expect.equals(0, queue.length);
- Expect.isTrue(queue.isEmpty);
-
- queue.addAll(set);
- Expect.equals(N, queue.length);
- Expect.isFalse(queue.isEmpty);
-
- // Iterate.
- for (var element in queue) {
- Expect.isTrue(set.contains(element));
- }
-
- queue.forEach((element) {
- Expect.isTrue(set.contains(element));
- });
-
- queue.addAll(set);
- Expect.equals(N * 2, queue.length);
- Expect.isFalse(queue.isEmpty);
-
- queue.clear();
- Expect.equals(0, queue.length);
- Expect.isTrue(queue.isEmpty);
- }
-
- void testFromListToList() {
- const int N = 256;
- List list = [];
- for (int i = 0; i < N; i++) {
- Queue queue = newQueueFrom(list);
-
- Expect.equals(list.length, queue.length);
- List to = queue.toList();
- Expect.listEquals(list, to);
-
- queue.add(i);
- list.add(i);
- Expect.equals(list.length, queue.length);
- to = queue.toList();
- Expect.listEquals(list, to);
- }
- }
-}
-
-class ListQueueTest extends QueueTest {
- Queue newQueue() => new ListQueue();
- Queue newQueueFrom(Iterable elements) => new ListQueue.from(elements);
-
- void testMain() {
- super.testMain();
- trickyTest();
- }
-
- void trickyTest() {
- // Test behavior around the know growing capacities of a ListQueue.
- Queue q = new ListQueue();
-
- for (int i = 0; i < 255; i++) {
- q.add(i);
- }
- for (int i = 0; i < 128; i++) {
- Expect.equals(i, q.removeFirst());
- }
- q.add(255);
- for (int i = 0; i < 127; i++) {
- q.add(i);
- }
-
- Expect.equals(255, q.length);
-
- // Remove element at end of internal buffer.
- q.removeWhere((v) => v == 255);
- // Remove element at beginning of internal buffer.
- q.removeWhere((v) => v == 0);
- // Remove element at both ends of internal buffer.
- q.removeWhere((v) => v == 254 || v == 1);
-
- Expect.equals(251, q.length);
-
- Iterable i255 = new Iterable.generate(255, (x) => x);
-
- q = new ListQueue();
- q.addAll(i255);
- Expect.listEquals(i255.toList(), q.toList());
-
- q = new ListQueue();
- q.addAll(i255.toList());
- Expect.listEquals(i255.toList(), q.toList());
-
- q = new ListQueue.from(i255);
- for (int i = 0; i < 128; i++) q.removeFirst();
- q.add(256);
- q.add(0);
- q.addAll(i255.toList());
- Expect.equals(129 + 255, q.length);
-
- // Test addAll that requires the queue to grow.
- q = new ListQueue();
- q.addAll(i255.take(35));
- q.addAll(i255.skip(35).take(96));
- q.addAll(i255.skip(35 + 96));
- Expect.listEquals(i255.toList(), q.toList());
- }
-}
-
-class DoubleLinkedQueueTest extends QueueTest {
- Queue newQueue() => new DoubleLinkedQueue();
- Queue newQueueFrom(Iterable elements) => new DoubleLinkedQueue.from(elements);
-
- void testMain() {
- super.testMain();
- testQueueElements();
- }
-
- void testQueueElements() {
- DoubleLinkedQueue<int> queue1 = new DoubleLinkedQueue<int>.from([1, 2, 3]);
- DoubleLinkedQueue<int> queue2 = new DoubleLinkedQueue<int>();
- queue2.addAll(queue1);
-
- Expect.equals(queue1.length, queue2.length);
- DoubleLinkedQueueEntry<int> entry1 = queue1.firstEntry();
- DoubleLinkedQueueEntry<int> entry2 = queue2.firstEntry();
- while (entry1 != null) {
- Expect.equals(true, !identical(entry1, entry2));
- entry1 = entry1.nextEntry();
- entry2 = entry2.nextEntry();
- }
- Expect.equals(null, entry2);
-
- var firstEntry = queue1.firstEntry();
- var secondEntry = queue1.firstEntry().nextEntry();
- var thirdEntry = queue1.lastEntry();
- firstEntry.prepend(4);
- firstEntry.append(5);
- secondEntry.prepend(6);
- secondEntry.append(7);
- thirdEntry.prepend(8);
- thirdEntry.append(9);
- Expect.equals(9, queue1.length);
- Expect.listEquals(queue1.toList(), [4, 1, 5, 6, 2, 7, 8, 3, 9]);
- Expect.equals(1, firstEntry.remove());
- Expect.equals(2, secondEntry.remove());
- Expect.equals(3, thirdEntry.remove());
- Expect.equals(6, queue1.length);
- Expect.listEquals(queue1.toList(), [4, 5, 6, 7, 8, 9]);
- }
-}
-
-void linkEntryTest() {
- var entry = new DoubleLinkedQueueEntry(42);
- Expect.equals(null, entry.previousEntry());
- Expect.equals(null, entry.nextEntry());
-
- entry.append(37);
- entry.prepend(87);
- var prev = entry.previousEntry();
- var next = entry.nextEntry();
- Expect.equals(42, entry.element);
- Expect.equals(37, next.element);
- Expect.equals(87, prev.element);
- Expect.identical(entry, prev.nextEntry());
- Expect.identical(entry, next.previousEntry());
- Expect.equals(null, next.nextEntry());
- Expect.equals(null, prev.previousEntry());
-
- entry.element = 117;
- Expect.equals(117, entry.element);
- Expect.identical(next, entry.nextEntry());
- Expect.identical(prev, entry.previousEntry());
-
- Expect.equals(117, entry.remove());
- Expect.identical(next, prev.nextEntry());
- Expect.identical(prev, next.previousEntry());
- Expect.equals(null, next.nextEntry());
- Expect.equals(null, prev.previousEntry());
- Expect.equals(37, next.element);
- Expect.equals(87, prev.element);
-
- Expect.equals(37, next.remove());
- Expect.equals(87, prev.element);
- Expect.equals(null, prev.nextEntry());
- Expect.equals(null, prev.previousEntry());
-
- Expect.equals(87, prev.remove());
-}
-
-main() {
- new DoubleLinkedQueueTest().testMain();
- new ListQueueTest().testMain();
- linkEntryTest();
-}
« no previous file with comments | « tests/corelib/queue_single_test.dart ('k') | tests/corelib_2/corelib_2.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698