anchor.diff:          new List.generate(expectedLines, (_) => new Completer<String>());
       lines = completers.map((c) => c.future).toList();
       vm.stdout.transform(UTF8.decoder).transform(splitter).listen((line) {
  -      expect(i, lessThan(expectedLines));
  +      Expect.isTrue(i < expectedLines);
         completers[i++].complete(line);
       }, onDone: () {
  -      expect(i, expectedLines);
  +      Expect.equals(expectedLines, i);
       });
   
       vm.stderr.transform(UTF8.decoder).transform(splitter).toList().then((err) {
  -      expect(err, isEmpty, reason: err.join('\n'));
  +      Expect.isTrue(err.isEmpty, err.join('\n'));
       });
   
       programIsDone = vm.exitCode;
  
positive.code: 
  import '../../tool/reload.dart' show RemoteVm;
  
  main() {
    IncrementalKernelGenerator compiler;
    MemoryFileSystem fs;
    Directory outDir;
  
negative.code:   List<Future<String>> lines;
    Future programIsDone;
  
    String get name;
  
    Future run();
  
    Future test() async {
      await setUp();
      try {
        await run();
        print("$name done");
      } finally {
        await tearDown();
      }
    }
  
    setUp() async {
      outDir = Directory.systemTemp.createTempSync('hotreload_test');
      outputUri = outDir.uri.resolve('test.dill');
      var root = Uri.parse('org-dartlang-test:///');
  