public void CalculateCost_ZeroOrLess_ShouldReturnExpected(int textMessages) { // Arrange const decimal expected = 0; A.CallTo(() => _accountDetails.NumberOfTextMessagesSentInMonth(_customerAccount, Month, Year)) .Returns(textMessages); // Act var cost = _calculator.CalculateCost(_customerAccount, Month, Year); // Assert Assert.Equal(expected, cost); }
public void GetTotalCostByDifferentBandsTest() { var customerId = Guid.NewGuid(); _moqAccountDetails.Setup(x => x.NumberOfTextMessagesSentInMonth(customerId, 1, 1)).Returns(700); _moqAccountDetails.Setup(x => x.GetAccountPriceBands(customerId)).Returns(new List <PriceBand> { new PriceBand { QtyFrom = 1, QtyTo = 200, PricePerTextMessage = 0.10m }, 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 } }); var costCalculator = new TotalCostCalculator(_moqAccountDetails.Object); var totalCost = costCalculator.CalculateCost(customerId, 1, 1); Assert.Equal(56.00m, totalCost); }