anchor.diff:        var buildManager = new BuilderManager(workspace, jobManager);
   
         Completer completer = new Completer();
  -      buildManager.builders.add(new MockBuilder(completer));
  +      buildManager.builders.add(new MockBuilder(completer, changeCount: 2));
   
         MockFileSystem fs = new MockFileSystem();
  -      FileEntry fileEntry = fs.createFile('test.txt');
  -      workspace.link(createWsRoot(fileEntry));
  +      FileEntry fileEntry = fs.createFile('foo/test.txt');
  +      fileEntry.getParent().then((parent) {
  +        workspace.link(createWsRoot(parent));
  +      });
   
         return completer.future;
       });
  
positive.code: 
        Completer completer1 = new Completer();
        Completer completer2 = new Completer();
        buildManager.builders.add(new MockBuilder(completer1));
        buildManager.builders.add(new MockBuilder(completer2));
  
        MockFileSystem fs = new MockFileSystem();
        FileEntry fileEntry = fs.createFile('test.txt');
        workspace.link(createWsRoot(fileEntry));
  
        return Future.wait([completer1.future, completer2.future]);
      });
  
negative.code:       var buildManager = new BuilderManager(workspace, jobManager);
  
        Completer completer = new Completer();
        buildManager.builders.add(new MockBuilder(completer, changeCount: 3));
  
        MockFileSystem fs = new MockFileSystem();
        FileEntry fileEntry1 = fs.createFile('foo/test1.txt');
        FileEntry fileEntry2 = fs.createFile('foo/test2.txt');
  
        fileEntry1.getParent().then((parent) {
          workspace.link(createWsRoot(parent));
        });
  
        return completer.future;
      });
  