コード例 #1
0
        public void GetShippingStatus_ResultExistsInCache_ReturnsTheResult()
        {
            // arrange
            Mock <ObjectCache> mockCache = new Mock <ObjectCache>();

            mockCache.Setup(c => c["statusForOrder#12"]).Returns(ShippingStatus.OutForDelivery);
            ShippingService sut = new ShippingService(null, null, null, mockCache.Object);

            // act
            ShippingStatus actual = sut.GetShippingStatus(12);

            // assert
            Assert.AreEqual(ShippingStatus.OutForDelivery, actual);
            mockCache.Verify(c => c["statusForOrder#12"], Times.Once());
        }
コード例 #2
0
        public void GetShippingStatus_ResultNotExistsInCache_FetchesTheResultFromDatabase()
        {
            // arrange
            Mock <ObjectCache>             mockCache        = new Mock <ObjectCache>();
            Mock <IShippingInfoRepository> mockShippingRepo = new Mock <IShippingInfoRepository>();

            mockShippingRepo.Setup(r => r.GetShippingStatus(It.Is <int>(i => i == 210))).Returns(ShippingStatus.InTransit);
            ShippingService sut = new ShippingService(null, mockShippingRepo.Object, null, mockCache.Object);

            // act
            ShippingStatus actual = sut.GetShippingStatus(210);

            // assert
            Assert.AreEqual(ShippingStatus.InTransit, actual);
            mockCache.Verify(c => c["statusForOrder#210"], Times.Once());
        }