예제 #1
0
        public void TestNothingChanges()
        {
            var oldCache   = new DataReaderPartition <TestEntity>();
            var newCache   = new DataReaderPartition <TestEntity>();
            var newElement = new TestEntity
            {
                PartitionKey = "PK",
                RowKey       = "RK",
                TimeStamp    = "0"
            };

            oldCache.Update(newElement);
            newCache.Update(newElement);

            var updated = new List <TestEntity>();
            var deleted = new List <TestEntity>();


            oldCache.FindDifference(newCache,
                                    itm => updated.Add(itm),
                                    itm => deleted.Add(itm));

            Assert.AreEqual(0, updated.Count);
            Assert.AreEqual(0, deleted.Count);
        }
예제 #2
0
        public void TestComplexUpdateDeleteChanges()
        {
            var oldCache = new DataReaderPartition <TestEntity>();
            var newCache = new DataReaderPartition <TestEntity>();
            var element1 = new TestEntity
            {
                PartitionKey = "PK1",
                RowKey       = "RK1",
                TimeStamp    = "1"
            };
            var element2 = new TestEntity
            {
                PartitionKey = "PK2",
                RowKey       = "RK2",
                TimeStamp    = "2"
            };

            var element3 = new TestEntity
            {
                PartitionKey = "PK3",
                RowKey       = "RK3",
                TimeStamp    = "3"
            };


            oldCache.Update(element1);
            oldCache.Update(element2);

            newCache.Update(element2);
            newCache.Update(element3);

            var updated = new List <TestEntity>();
            var deleted = new List <TestEntity>();


            oldCache.FindDifference(newCache,
                                    itm => updated.Add(itm),
                                    itm => deleted.Add(itm));

            Assert.AreEqual(1, updated.Count);
            Assert.AreEqual(1, deleted.Count);
            Assert.AreEqual("PK3", updated[0].PartitionKey);
            Assert.AreEqual("PK1", deleted[0].PartitionKey);
        }