anchor.diff:              differ.toString(),
               iterableChangesAsString(
                   collection: ["a", "boo"], previous: ["a", "boo"]));
  -      });
  -      test("should ignore [NaN] != [NaN] (JS)", () {
  -        var l = [double.NAN];
  -        differ.check(l);
  -        differ.check(l);
  -        expect(
  -            differ.toString(),
  -            iterableChangesAsString(
  -                collection: [double.NAN], previous: [double.NAN]));
         });
         test("should remove and add same item", () {
           var l = ["a", "b", "c"];
  
positive.code: import 'dart:collection';
  
  import 'package:test/test.dart';
  import 'package:_tests/test_util.dart';
  import 'package:angular/src/core/change_detection/differs/default_iterable_differ.dart';
  
  void main() {
  
negative.code:                   previous: ["a[0->null]", "b[1->null]"],
                    removals: ["a[0->null]", "b[1->null]"]));
          });
        });
      });
      group("trackBy function by id", () {
        var differ;
        var trackByItemId = (int index, dynamic item) => item.id;
        var buildItemList = (List<String> list) {
          return list.map((val) {
            return new ItemWithId(val);
  