public void DiscountPendingOnDayTimeStrategy_WhenAfter12_ThenDoubleDiscount() { const decimal expectedResult = 80; // Arrange var timeSourceMock = new Mock <ITimeSource>(); timeSourceMock.Setup(x => x.Now).Returns(new System.DateTime(2018, 1, 1, 12, 01, 00)); var discountPendingOnDayTime = new DiscountPendingOnDayTime(timeSourceMock.Object, 10m); // Act var result = new Sale(discountPendingOnDayTime, 100).GetTotal(); // Assert Assert.That(expectedResult, Is.EqualTo(result)); }
public void DiscountPendingOnDayTimeStrategy_WhenBefore12_ThenSingleDiscount() { const decimal expectedResult = 90; // Arrange var timeSourceMock = new Mock <ITimeSource>(); timeSourceMock.Setup(x => x.Now).Returns(new DateTime(2018, 1, 1, 11, 59, 59)); var discountPendingOnDayTime = new DiscountPendingOnDayTime(timeSourceMock.Object, 10); // Act var result = new Sale(discountPendingOnDayTime, 100).GetTotal(); // Assert Assert.That(expectedResult, Is.EqualTo(result)); }