Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }