anchor.diff:      'B2': {'Jan15': 3, 'Feb15': 4},
       'B3': {'Jan15': 5, 'Feb15': 6}
     };
  -  List res = flattenMap(data);
  +
     //res.forEach(print);
     test('flattenMap, two nesting levels', () {
  +    List res = flattenMap(data, ['level0', 'level1', 'value']);
       expect(res, [
         {'level0': 'B1', 'level1': 'Jan15', 'value': 1},
         {'level0': 'B1', 'level1': 'Feb15', 'value': 2},
  
positive.code:       'B2': {'C1': 7, 'C2': 8}
      },
    };
    List res = flattenMap(data, levelNames: ['levelA', 'levelB', 'levelC']);
    //res.forEach(print);
    test('flattenMap, three nesting levels with names', () {
      expect(res, [
  
negative.code:       {'value': 8, 'level2': 'C2', 'level1': 'B2', 'level0': 'A2'},
      ]);
    });
    test('flattenMap, three nesting levels, show only two', () {
      List res = flattenMap(data, ['level0', 'level1']);
      expect(res, [
        {'level0': 'A1', 'level1': 'B1', 'C1': 1, 'C2': 2},
        {'level0': 'A1', 'level1': 'B2', 'C1': 3, 'C2': 4},
        {'level0': 'A2', 'level1': 'B1', 'C1': 5, 'C2': 6},
        {'level0': 'A2', 'level1': 'B2', 'C1': 7, 'C2': 8},
      ]);
    });
  }
  
  
  test3Names() {
    Map data = {
  