private IEnumerable <LargeDoc> GetDocs(int initial, int count) { for (var i = initial; i < initial + count; i++) { yield return(new LargeDoc { Guid = Guid.NewGuid(), Lorem = TempFile.LoremIpsum(10, 15, 2, 3, 3) }); } }
private IEnumerable <BsonDocument> GetDocs() { for (var i = 0; i < 220; i++) { var doc = new BsonDocument() .Add("_id", Guid.NewGuid()) .Add("content", TempFile.LoremIpsum(20, 50, 1, 2, 1)); yield return(doc); } }
private BsonDocument CreateDoc(int id, string name) { var doc = new BsonDocument(); doc["_id"] = id; doc["name"] = name; doc["desc"] = TempFile.LoremIpsum(10, 10, 2, 2, 2); doc["date"] = DateTime.Now.AddDays(_rnd.Next(300)); doc["value"] = _rnd.NextDouble() * 5000; return(doc); }
private IEnumerable <BsonDocument> GetDocs(int initial, int count, int type = 1) { for (var i = initial; i < initial + count; i++) { yield return(new BsonDocument { { "_id", i }, { "name", Guid.NewGuid().ToString() }, { "first", "John" }, { "lorem", TempFile.LoremIpsum(3, 5, 2, 3, 3) } }); } }
private IEnumerable <BsonDocument> GetDocs(int count) { var rnd = new Random(); for (var i = 0; i < count; i++) { yield return(new BsonDocument { { "_id", ObjectId.NewObjectId() }, { "html", TempFile.LoremIpsum(15, 50, 4, 10, 3) } }); } }
public void Thread_InsertUpdate_Test() { const int N = 3000; using (var file = new TempFile()) using (var db = new LiteEngine(file.Filename)) { db.EnsureIndex("col", "updated"); Assert.AreEqual(0, db.Count("col", Query.EQ("updated", true))); // insert basic document var ta = Task.Factory.StartNew(() => { for (var i = 0; i < N; i++) { var doc = new BsonDocument { { "_id", i } }; db.Insert("col", doc); } }); // update _id=N var tb = Task.Factory.StartNew(() => { var i = 0; while (i < N) { var doc = new BsonDocument { { "_id", i }, { "updated", true }, { "name", TempFile.LoremIpsum(5, 10, 1, 5, 1) } }; if (db.Update("col", doc)) { i++; } } }); Task.WaitAll(ta, tb); Assert.AreEqual(N, db.Count("col", Query.EQ("updated", true))); } }
private IEnumerable <BsonDocument> GetDocs(int count) { var rnd = new Random(); for (var i = 0; i < count; i++) { yield return(new BsonDocument { { "_id", i }, { "name", Guid.NewGuid().ToString() }, { "type", rnd.Next(1, 100) }, { "lorem", TempFile.LoremIpsum(3, 5, 2, 3, 3) } }); } }
private IEnumerable <BsonDocument> GetDocs(int initial, int count, int type = 1, bool throwAtEnd = false) { for (var i = initial; i < initial + count; i++) { yield return(new BsonDocument { { "_id", i }, { "name", Guid.NewGuid().ToString() }, { "type", type }, { "lorem", TempFile.LoremIpsum(3, 5, 2, 3, 3) } }); } // force throw exception during big insert if (throwAtEnd) { throw new Exception("Try Recovery!"); } }