anchor.diff:    scheduleForProjects(Iterable<Project> projects()) async {
       theProjects = projects();
       processor = new TestProcessor();
  -    final JefeProjectGraph graph =
  -        await getRootProjects(theProjects.toSet());
  +    final JefeProjectGraph graph = await getRootProjects(theProjects.toSet());
       return graph.processDepthFirst(processor);
     }
   
  
positive.code:             () => new TestProcessInvocation(project2, [project1]),
              () => new TestProcessInvocation(project4, [project2, project3])
            ]);
      }, skip: true);
    });
  }
  
  class TestProcessor {
    final List<TestProcessInvocation> invocations = [];
    Future call(JefeProject project) async {
      invocations.add(new TestProcessInvocation(project, project.directDependencies));
    }
  
    static createTests(
  
negative.code:     group(
          'when no projects provided',
          () =>
              expectThat(withTheseProjects: () => [], weGetTheseInvocations: []),
          skip: false);
  
      group('for a single project that has no dependencies', () {
        final project1 = aProject('project1');
  