// 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 class SplayTreeSet<E>
/// A Set of objects that can be ordered relative to each other.
/// Mixes-in IterableMixin<E> SetMixin<E>
/// @description Checks that all members of [IterableMixin] and [SetMixin] are
/// implemented.
/// @author sgrekhov@unipro.ru

library inherited_tests_splaytreeset;

import "dart:collection";
import "../SetMixin/inherited_tests.lib.dart" as set_mixin_tests;
import "../IterableMixin/inherited_tests.lib.dart" as iterable_mixin_tests;

test(Set create([Iterable? content])) {
  set_mixin_tests.test(create);
  iterable_mixin_tests.test(create, isSet: true);
}
