void check0()

in LibTest/collection/IterableMixin/IterableMixin_class_A01_t02.dart [43:115]


void check0(MyIterable myIterable) {
  Expect.throws(() => myIterable.first, (e) => e is StateError);

  Expect.isTrue(myIterable.isEmpty);

  Expect.isFalse(myIterable.isNotEmpty);

  Expect.throws(() => myIterable.last, (e) => e is StateError);

  Expect.equals(0, myIterable.length);

  Expect.throws(() => myIterable.single, (e) => e is StateError);

  Expect.isFalse(myIterable.any((element) => true));

  Expect.isFalse(myIterable.contains(1));

  Expect.throws(() => myIterable.elementAt(0), (e) => e is RangeError);

  Expect.isTrue(myIterable.every((element) => true));

  Iterable expanded = myIterable.expand((var element) => [element]);
  Expect.isTrue(expanded.isEmpty);

  Expect.throws(() {
    myIterable.firstWhere((element) => true);
  }, (e) => e is StateError);

  Expect.equals(0, myIterable.fold<int>(0, (int prev, element) => prev + element as int));

  myIterable.forEach((e) {
    throw new Exception();
  });

  Expect.equals("", myIterable.join(","));

  Expect.throws(() {
    myIterable.lastWhere((element) => true);
  }, (e) => e is StateError);

  Expect.isTrue(myIterable.map((element) => element).isEmpty);

  // not documented
  Expect.throws(() {
    myIterable.reduce((value, element) => value + element);
  }, (e) => e is StateError);
//  Expect.equals(0, myIterable.reduce((value, element) => value + element));

  Expect.throws(() {
    myIterable.singleWhere((element) => true);
  }, (e) => e is StateError);

  Expect.isTrue(myIterable.skip(0).isEmpty);
  Expect.throws(() {
    myIterable.skip(-1);
  });

  Expect.isTrue(myIterable.skipWhile((element) => false).isEmpty);

  Expect.isTrue(myIterable.take(1).isEmpty);
  Expect.throws(() {
    myIterable.take(-1);
  });

  Expect.isTrue(myIterable.takeWhile((element) => true).isEmpty);

  Expect.isTrue(myIterable.toList().isEmpty);
  Expect.isTrue(myIterable.toList(growable: false).isEmpty);

  Expect.isTrue(myIterable.toSet().isEmpty);

  Expect.isTrue(myIterable.where((element) => true).isEmpty);
}