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); }
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); }