blob: 4c65d5c177d11aadd74b139893054d6cc9e0e64f [file] [log] [blame]
// Copyright (c) 2016, 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.
/**
* @assertion void retainWhere(bool test(E element))
* ...
* The [test] function must not throw or modify the queue.
* @description Checks that if [test] function throws an exception then
* operation stops
* @author sgrekhov@unipro.ru
*/
library retainWhere_A02_t01;
import "../../../Utils/expect.dart";
import "dart:collection";
bool throwFunction(var element) {
if (element < 0) {
return true;
} else {
throw new Exception();
}
}
test(Queue create([Iterable content])) {
Queue a = create([-3, -2, -1, 0, 1, 2, 3, -1]);
Expect.throws(() { a.retainWhere(throwFunction); });
Expect.iterableEquals([-3, -2, -1, 0, 1, 2, 3, -1], a);
}