public async Task Remove_WhenAnEntityIsDeleted_ThenItCannotBeRetrieved() { // arrange var firstEntityType1 = new TestType1Entity { Name = "test1_1", Id = "1" }; var secondEntityType1 = new TestType1Entity { Name = "test1_2", Id = "2" }; var entityType2 = new TestType2Entity { Name = "test2", Id = "1" }; await _cacheType1.Set(new[] { firstEntityType1, secondEntityType1 }); await _cacheType2.Set(new[] { entityType2 }); // act await _cacheType1.Remove(firstEntityType1.Id); var deletedEntityType1Found = await _cacheType1.Get(firstEntityType1.Id); var secondEntityType1Found = await _cacheType1.Get(secondEntityType1.Id); var entityType2Found = await _cacheType2.Get(entityType2.Id); // assert Assert.That(deletedEntityType1Found, Is.Null); Assert.That(secondEntityType1Found.Name, Is.EqualTo(secondEntityType1.Name)); Assert.That(entityType2Found.Name, Is.EqualTo(entityType2.Name)); }
public async Task GetAll_WhenAnEntityOfDifferentTypeAreAdded_ThenAllCanBeRetrieved() { // arrange var firstEntityType1 = new TestType1Entity { Name = "test1_1", Id = "1" }; var secondEntityType1 = new TestType1Entity { Name = "test1_2", Id = "2" }; var firstEntityType2 = new TestType2Entity { Name = "test2_1", Id = "1" }; var secondEntityType2 = new TestType2Entity { Name = "test2_2", Id = "2" }; await _cacheType1.AddOrUpdate(firstEntityType1); await _cacheType1.AddOrUpdate(secondEntityType1); await _cacheType2.AddOrUpdate(firstEntityType2); await _cacheType2.AddOrUpdate(secondEntityType2); // act var retrievedAllType1Entities = (await _cacheType1.GetAll()).ToArray(); var retrievedAllType2Entities = (await _cacheType2.GetAll()).ToArray(); // assert Assert.That(retrievedAllType1Entities, Has.Length.EqualTo(2)); Assert.That(retrievedAllType2Entities, Has.Length.EqualTo(2)); Assert.That(retrievedAllType1Entities.Select(item => item.Name), Contains.Item(firstEntityType1.Name).And.Contains(secondEntityType1.Name)); Assert.That(retrievedAllType2Entities.Select(item => item.Name), Contains.Item(firstEntityType2.Name).And.Contains(secondEntityType2.Name)); }
public async Task Flush_WhenAnEntityOfType1AndType2AreAdded_ThenFlushed_ThenStoreMustBeEmpty() { // arrange var entity1 = new TestType1Entity { Name = "test1", Id = "1" }; var entity2 = new TestType2Entity { Name = "test2", Id = "1" }; await _cacheType1.Set(new[] { entity1 }); await _cacheType2.Set(new[] { entity2 }); // act (flush type 1) await _cacheType1.Flush(); var entity1Found = await _cacheType1.Get(entity1.Id); var entity2Found = await _cacheType2.Get(entity2.Id); // assert Assert.That(entity1Found, Is.Null); Assert.That(entity2Found.Name, Is.EqualTo(entity2.Name)); // act (flush type 2) await _cacheType2.Flush(); entity1Found = await _cacheType1.Get(entity1.Id); entity2Found = await _cacheType2.Get(entity2.Id); // assert Assert.That(entity1Found, Is.Null); Assert.That(entity2Found, Is.Null); }