anchor.diff:  
       test('add data with same _id. (T03)', () {
   // given
  -      february['_id'] = 'january';
  +      Map january2 = {'name': 'January2', 'days': 11, 'number': 4, '_id': 'january'};
         Future shouldThrow = ready.then((_) => months.add(new Map.from(january), 'John Doe'))
   
         // when
  -      .then((_) => months.add(new Map.from(february), 'John Doe'));
  -
  -      // then
  -
  +      .then((_) => months.add(new Map.from(january2), 'John Doe'));
  +
  +      // then
         expect(shouldThrow, throws);
   
       });
  -
   
       test('change data. (T04)', () {
         // given
  
positive.code:           expect(diff['version'], equals(2));
            expect(diff['author'], equals('Michael Smith'));
          });
      });
  
      test('can reconstruct changes form diff. (T09)', () {
  
negative.code:   });
  }
  
  Map _stripPrivateFields(Map<String, dynamic> data){
    Map newData = {};
    data.forEach((key,value) {
      if (!key.startsWith('__')) newData[key] = value;
    });
    return newData;
  }
  
  List _stripPrivateFieldsList(List<Map<String, dynamic>> data){
    List newData = [];
    data.forEach((oldMap) {
      newData.add(_stripPrivateFields(oldMap));
    });
    return newData;
  }
  
  void main() {
    group('MongoProvider', () {
      MongoProvider months;
      Future ready;
      MongoDatabase mongodb;
      Map january, february, march, april, may, june, july,
          august, september, october, november, december;
  
       setUp(() {
        january = {'name': 'January', 'days': 31, 'number': 1, '_id': 'january'};
        february = {'name': 'February', 'days': 28, 'number': 2, '_id': 'february'};
        march =  {'name': 'March', 'days': 31, 'number': 3, '_id': 'march'};
  