public void TestWrite() { var processor = new DummyProcessor(); var editor = new DatabaseEditor <TestEntity>(processor); var entity = new TestEntity() { Age = 100, FirstName = "FN100", LastName = "LN100", Id = Guid.NewGuid() }; editor.Write(entity); Assert.AreEqual(1, editor.WriteCount); Assert.AreEqual(0, editor.RemoveCount); editor.Commit(); Assert.AreEqual(0, editor.WriteCount); Assert.AreEqual(0, editor.RemoveCount); Assert.AreEqual(1, processor.Data.Count); Assert.AreEqual(1, processor.Index.Count); Assert.AreEqual(entity.Id.ToString(), processor.Data[0]["Id"].ToString()); Assert.AreEqual(entity.Age, processor.Data[0]["Age"].Value <int>()); Assert.AreEqual(entity.FirstName, processor.Data[0]["Name"].ToString()); Assert.AreEqual(entity.LastName, processor.Data[0]["LastName"].ToString()); }
public void TestWriteRange() { var processor = new DummyProcessor(); var editor = new DatabaseEditor <TestEntity>(processor); var entities = new List <TestEntity>() { new TestEntity() { Age = 100, FirstName = "FN100", LastName = "LN100", Id = Guid.NewGuid() }, new TestEntity() { Age = 101, FirstName = "FN101", LastName = "LN101", Id = Guid.NewGuid() }, }; entities.Sort((x, y) => x.Id.CompareTo(y.Id)); editor.WriteRange(entities); Assert.AreEqual(2, editor.WriteCount); Assert.AreEqual(0, editor.RemoveCount); editor.Commit(); Assert.AreEqual(0, editor.WriteCount); Assert.AreEqual(0, editor.RemoveCount); Assert.AreEqual(2, processor.Data.Count); Assert.AreEqual(2, processor.Index.Count); for (int i = 0; i < entities.Count; i++) { var entity = entities[i]; Assert.AreEqual(entity.Id.ToString(), processor.Data[i]["Id"].ToString()); Assert.AreEqual(entity.Age, processor.Data[i]["Age"].Value <int>()); Assert.AreEqual(entity.FirstName, processor.Data[i]["Name"].ToString()); Assert.AreEqual(entity.LastName, processor.Data[i]["LastName"].ToString()); } }