blob: 04c28da13d6de0a6d962b136c2db094549bf003c [file] [log] [blame]
// Copyright (c) 2017, 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 class LinkedList<E extends LinkedListEntry>
* A specialized double-linked list of elements that extends [LinkedListEntry]
* This is not a generic data structure. It only accepts elements that extend
* the [LinkedListEntry] class.
* @description Checks that [LinkedList] accepts [LinkedListEntry] elements and
* does not accept any other classes.
* @author iarkh@unipro.ru
*/
import "dart:collection";
import "../../../Utils/expect.dart";
import "LinkedList.lib.dart";
main() {
LinkedList<MyLinkedListEntry> list = new LinkedList<MyLinkedListEntry>();
list.add(new MyLinkedListEntry(1));
Expect.throws(() { list.add(1 as dynamic); });
Expect.throws(() { list.add(new Object() as dynamic); });
Expect.throws(() { list.add("test" as dynamic); });
}