Ejemplo n.º 1
0
        public void TestInitTableWithComplietlyNewData()
        {
            var entity1 = new TestEntity
            {
                PartitionKey = "PK",
                RowKey       = "RK",
                TimeStamp    = "0"
            };

            var subscriberMock = new MyNoSqlSubscriberMock();
            var dataReader     = new MyNoSqlReadRepository <TestEntity>(subscriberMock, "test");

            var updates = new List <TestEntity>();
            var deletes = new List <TestEntity>();

            dataReader.SubscribeToUpdateEvents(updates.AddRange, deletes.AddRange);

            subscriberMock.InitAction(new[] { entity1 });

            Assert.AreEqual(1, updates.Count);
            Assert.AreEqual(0, deletes.Count);
            updates.Clear();


            var entity2 = new TestEntity
            {
                PartitionKey = "PK2",
                RowKey       = "RK2",
                TimeStamp    = "2"
            };

            subscriberMock.InitAction(new[] { entity2 });


            Assert.AreEqual(1, updates.Count);
            Assert.AreEqual(1, deletes.Count);
        }
Ejemplo n.º 2
0
        public void TestDetectDeleteElementAsNewCacheIsEmpty()
        {
            var oldCache   = new DataReaderPartition <TestEntity>();
            var newCache   = new DataReaderPartition <TestEntity>();
            var newElement = new TestEntity
            {
                PartitionKey = "PK",
                RowKey       = "RK",
                TimeStamp    = "0"
            };

            oldCache.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(1, deleted.Count);
        }