Beispiel #1
0
        public void CalculateCost_SatisfiesExample()
        {
            // Arrange
            var priceBands = new List <PriceBand>
            {
                new PriceBand {
                    QtyFrom = 1, QtyTo = 200, PricePerTextMessage = 0.1M
                },
                new PriceBand {
                    QtyFrom = 201, QtyTo = 500, PricePerTextMessage = 0.08M
                },
                new PriceBand {
                    QtyFrom = 501, QtyTo = 1000, PricePerTextMessage = 0.06M
                },
                new PriceBand {
                    QtyFrom = 1001, PricePerTextMessage = 0.03M
                }
            };

            mockAccountDetails.NumberOfTextMessagesSentInMonth(Arg.Any <Guid>(), Arg.Any <int>(), Arg.Any <int>())
            .Returns(700);
            mockAccountDetails.GetAccountPriceBands(Arg.Any <Guid>())
            .Returns(priceBands);

            // Act
            var result = totalCostCalculator.CalculateCost(Guid.NewGuid(), 3, 2021);

            //Assert
            Assert.AreEqual(56.00M, result);
        }