public void GetThenGetOrAddThenGetWithNoSetUp_TestObject_ReturnsExpectedResults() { var cacheKey = "SomethingInTheCache"; var expectedResult1 = default(TestObject); var expectedResult2 = new TestObject(); var expectedResult3 = default(TestObject); var cacheMock = MockFactory.CreateCachingServiceMock(); var mockedCache = cacheMock.Object; var actualResult1 = mockedCache.Get <TestObject>(cacheKey); var actualResult2 = mockedCache.GetOrAdd(cacheKey, () => expectedResult2, DateTimeOffset.Now.AddMinutes(30)); var actualResult3 = mockedCache.Get <TestObject>(cacheKey); Assert.Multiple(() => { Assert.IsNull(actualResult1); Assert.AreSame(expectedResult1, actualResult1); Assert.AreSame(expectedResult2, actualResult2); Assert.IsNull(actualResult3); Assert.AreSame(expectedResult3, actualResult3); cacheMock.Verify(m => m.GetOrAdd(It.IsAny <string>(), It.IsAny <Func <ICacheEntry, TestObject> >()), Times.Once); cacheMock.Verify(m => m.Get <TestObject>(It.IsAny <string>()), Times.Exactly(2)); }); }
public void GetWithNoSetUp_ReturnsNull() { var cacheKey = "SomethingInTheCache"; var cacheMock = MockFactory.CreateCachingServiceMock(); var mockedCache = cacheMock.Object; var actualResult = mockedCache.Get <string>(cacheKey); Assert.IsNull(actualResult); }
public async Task GetOrAddAsyncWithNoSetUp_TestObject_ReturnsExpectedResult() { var cacheKey = "SomethingInTheCache"; var expectedResult = new TestObject(); var cacheMock = MockFactory.CreateCachingServiceMock(); var mockedCache = cacheMock.Object; var actualResult = await mockedCache.GetOrAddAsync(cacheKey, () => Task.FromResult(expectedResult)); Assert.AreSame(expectedResult, actualResult); }
public void GetOrAddWithReturnsDefaultSetUp_Guid_ReturnsExpectedResult() { var cacheKey = "SomethingInTheCache"; var expectedResult = Guid.NewGuid().ToString(); var cacheMock = MockFactory.CreateCachingServiceMock(); cacheMock.SetReturnsDefault(expectedResult); var mockedCache = cacheMock.Object; var actualResult = mockedCache.GetOrAdd(cacheKey, () => expectedResult, DateTimeOffset.Now.AddMinutes(30)); Assert.AreSame(expectedResult, actualResult); }
public async Task GetOrAddAsyncWithSetUp_Guid_ReturnsExpectedResult() { var cacheKey = "SomethingInTheCache"; var expectedResult = Guid.NewGuid().ToString(); var cacheMock = MockFactory.CreateCachingServiceMock(); cacheMock.SetUpCacheEntry(cacheKey, expectedResult); var mockedCache = cacheMock.Object; var actualResult = await mockedCache.GetOrAddAsync(cacheKey, () => Task.FromResult(expectedResult)); Assert.AreSame(expectedResult, actualResult); }
public void GetOrAddWithNoSetUp_TestObject_ReturnsExpectedResult() { var cacheKey = "SomethingInTheCache"; var expectedResult = new TestObject(); var cacheMock = MockFactory.CreateCachingServiceMock(); var mockedCache = cacheMock.Object; var actualResult = mockedCache.GetOrAdd(cacheKey, () => expectedResult, DateTimeOffset.Now.AddMinutes(30)); Assert.Multiple(() => { Assert.AreSame(expectedResult, actualResult); cacheMock.Verify(m => m.GetOrAdd(It.IsAny <string>(), It.IsAny <Func <ICacheEntry, TestObject> >()), Times.Once); }); }