public void Update_1000_document_as_transaction()
        {
            CustomMongoDbContext db = new CustomMongoDbContext("PFrameworkTest", "localhost:27017");
            List <Info>          qr = db.GetEntity <Info>(x => true)
                                      .ToList()
                                      .Select(x => new Info(x.Id, string.Concat(DateTime.Now.ToString(), " ", x.Data)))
                                      .ToList()
            ;

            db.UpdateAsTransaction(qr, x => x.Id);
        }
        public void Insert_1000_document()
        {
            CustomMongoDbContext db = new CustomMongoDbContext("PFrameworkTest", "localhost:27017");
            Info info = null;

            for (int i = 0; i < 1000; ++i)
            {
                byte[] buffer = new byte[1000];
                rnd.NextBytes(buffer);
                info = new Info(ObjectId.GenerateNewId(), Encoding.UTF8.GetString(buffer));
                db.Add(info);
            }
            IQueryable <Info> qr = db.GetEntity <Info>(x => true);

            long totalMemory       = GC.GetTotalMemory(false);
            long totalMemoryEntity = Marshal.SizeOf <char>() * 1000;
            int  cnt = qr.Count();
            long totalMemoryAfter = GC.GetTotalMemory(false);

            Assert.IsTrue(totalMemoryAfter >= totalMemory + 500 * totalMemoryEntity && cnt == 1000);
        }