anchor.diff:  import 'package:test/test.dart';
   
   const DefaultUri = 'mongodb://127.0.0.1:27017/';
  +const String collectionName = 'collectionName';
  +
  +Db db;
   
   Future testGetCollectionInfos() {
     Db db = new Db(
  
positive.code:   expect(key, test_key);
  }
  
  Future testAuthentication() {
    var db = new Db(
        'mongodb://ds031477.mongolab.com:31477/dart', 'testAuthentication');
    return db.open().then((c) {
      return db.authenticate('test', 'test');
    }).then((v) {
      return db.close();
    });
  }
  
  Future testAuthenticationWithUri() {
    var db = new Db('mongodb://test:test@ds031477.mongolab.com:31477/dart');
    return db.open().then((c) {
      DbCollection collection = db.collection('testAuthenticationWithUri');
      collection.remove();
      collection.insert({"a": 1});
      collection.insert({"a": 2});
      collection.insert({"a": 3});
      return collection.findOne();
    }).then((v) {
      expect(v['a'], isNotNull);
      return db.close();
    });
  }
  
  Future testGetIndexes() {
    Db db = new Db('${DefaultUri}mongo_dart-test');
    return db.open().then((c) {
      DbCollection collection = db.collection('testcol');
      collection.remove();
      for (int n = 0; n < 100; n++) {
        collection.insert({"a": n});
      }
      //return db.indexInformation('testcol');
      return collection.getIndexes();
    }).then((indexInfo) {
      expect(indexInfo.length, 1);
      return db.close();
    });
  }
  
  Future testIndexCreation() {
    Db db = new Db('${DefaultUri}index_creation');
    DbCollection collection;
    return db.open().then((c) {
      collection = db.collection('testcol');
      return collection.drop();
    }).then((res) {
      for (int n = 0; n < 6; n++) {
        collection.insert({
          'a': n,
          'embedded': {'b': n, 'c': n * 10}
        });
      }
  //    expect(() => db.createIndex('testcol'),throws, reason: 'Invalid number of arguments');
  //    expect(() => db.createIndex('testcol',key: 'a', keys:{'a':-1}),throws, reason: 'Invalid number of arguments');
      return db.createIndex('testcol', key: 'a');
    }).then((res) {
      expect(res['ok'], 1.0);
      return db.createIndex('testcol', keys: {'a': -1, 'embedded.c': 1});
    }).then((res) {
      expect(res['ok'], 1.0);
      return collection.getIndexes();
    }).then((res) {
      expect(res.length, 3);
      return db.ensureIndex('testcol', keys: {'a': -1, 'embedded.c': 1});
    }).then((res) {
      expect(res['ok'], 1.0);
      return db.close();
    });
  }
  
  Future testEnsureIndexWithIndexCreation() {
  
negative.code:   });
  }
  
  Future testGetNonce() async {
    var result = await db.getNonce();
    expect(result["ok"], 1);
  }
  
  Future getBuildInfo() async {
    var result = await db.getBuildInfo();
    expect(result["ok"], 1);
  }
  
  Future testIsMaster() async {
    var result = await db.isMaster();
    expect(result["ok"], 1);
  }
  
  testCollectionCreation() {
  