anchor.diff:          () => new TestProcessInvocation(project4, [project2, project3])
         ]);
       });
  -
  -    //    group('for one project with no dependencies', () {
  -//      MockProject project1;
  -//
  -//      setUp(() {
  -//        project1 = new MockProject('project1', new PubSpec());
  -//        scheduleForProjects([project1]);
  -//      });
  -//
  -//      test('calls processor once', () {
  -//        schedule(() => expect(processor.invocations, hasLength(1)));
  -//      });
  -//
  -//      test('calls processor once with expected project', () {
  -//        schedule(() =>
  -//            expect(processor.invocations.first.project, equals(project1)));
  -//      });
  -//
  -//      test('calls processor once with no dependencies', () {
  -//        schedule(
  -//            () => expect(processor.invocations.first.dependencies, isEmpty));
  -//      });
  -//    });
  -
     });
   }
   
  
positive.code: 
      group('each invocation matches expectation', () {
        for (int i = 0; i < expected.length; i++) {
  
          // TODO: need to rework this with ordered equals or something
          // as we can't create the expected up front so don't know how
          // many in the list
  
          TestProcessInvocation.createTests(
              () => processor().invocations[i], expected[i]);
        }
  
negative.code:       ]);
      });
  
      group('for 4 projects with a several dependency', () {
        final project1 = aProject('project1');
        final project2 = aProject('project2', dependencies: [project1]);
        final project3 = aProject('project3');
        final project4 = aProject('project3', dependencies: [project3, project2]);
  
        expectThat(
            withTheseProjects: () => [project1, project4, project3, project2],
            weGetTheseInvocations: [
  