anchor.diff:  import "dart:async";
   
   class DataProviderMock extends Mock implements DataProvider {
  -  final futureMock = new FutureMock();
  +  final responseFuture = new FutureMock();
   
     DataProviderMock() {
  -    when(callsTo("data")).alwaysReturn(futureMock);
  -    when(callsTo("diffFromVersion")).alwaysReturn(futureMock);
  -    when(callsTo("add")).alwaysReturn(futureMock);
  -    when(callsTo("change")).alwaysReturn(futureMock);
  -    when(callsTo("remove")).alwaysReturn(futureMock);
  +    when(callsTo("data")).alwaysReturn(responseFuture);
  +    when(callsTo("diffFromVersion", anything)).alwaysReturn(responseFuture);
  +    when(callsTo("add")).alwaysReturn(responseFuture);
  +    when(callsTo("change")).alwaysReturn(responseFuture);
  +    when(callsTo("remove")).alwaysReturn(responseFuture);
     }
   }
   class FutureMock extends Mock implements Future {}
  +
  +typedef DataProvider generatorType(var args);
   
   void main() {
     group("Publisher", () {
   
       Publisher publisher;
       Map request, args;
  +    var _id, data, author;
       DataProviderMock dataProvider;
  -    var generator, _generator;
  +    generatorType generator;
  +    var _generator;
   
       void verifyGeneratorCalledOnceWithArgs(args) {
         _generator.getLogs().verify(happenedOnce);
  
positive.code:       request = {"args": {
          "action": "remove",
          "collection": "months",
          "args": args}
        };
  
  
negative.code:       request = {"args": {
          "action": "get_diff",
          "collection": "months",
          "version": 5,
          "args": args}
        };
  
  