public async Task SameKeyDifferentType() { var setCat = new Utilities.One.Cat { Name = "Linq" }; await CacheRepository.SetByTypeAsync(1, setCat); var setDog = new Utilities.One.Dog { Name = "Taboo" }; await CacheRepository.SetByTypeAsync(1, setDog); var getCat = await CacheRepository.GetByTypeAsync <Utilities.One.Cat>(1); Assert.Equal(setCat.Name, getCat.Name); var getDog = await CacheRepository.GetByTypeAsync <Utilities.One.Dog>(1); Assert.Equal(setDog.Name, getDog.Name); Assert.Equal(2, MemoryCacheRepository.Map.Count); }
public async Task DerivedTypeSameKey() { var setDogA = new Utilities.One.Dog { Name = "Taboo" }; await CacheRepository.SetByTypeAsync(1, setDogA); var setDogB = new Utilities.Two.Dog { Name = "Jay" }; await CacheRepository.SetByTypeAsync(1, setDogB); var getDogA = await CacheRepository.GetByTypeAsync <Utilities.One.Dog>(1); Assert.Equal(setDogA.Name, getDogA.Name); var getDogB = await CacheRepository.GetByTypeAsync <Utilities.Two.Dog>(1); Assert.Equal(setDogB.Name, getDogB.Name); Assert.Equal(2, MemoryCacheRepository.Map.Count); }