Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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());
            }
        }