public void GivenCustomerWhenCustomerIsNullThenReturnNull() { // Arrange var mockPremiumCalculator = new Mock <IPremiumCalculator>(); Customer mockCustomer = null; var premiumCalculatorBuilder = new PremiumCalculatorBuilder(mockPremiumCalculator.Object); // Act premiumCalculatorBuilder.SetCustomer(mockCustomer); // Assert Assert.IsNull(mockCustomer); }
public void GivenCustomerWhenCustomerIsPresentThenSetCustomerData() { // Arrange var mockPremiumCalculator = new Mock <IPremiumCalculator>(); var mockCustomer = this.GetCustomerMock(); var premiumCalculatorBuilder = new PremiumCalculatorBuilder(mockPremiumCalculator.Object); // Act premiumCalculatorBuilder.SetCustomer(mockCustomer); // Assert Assert.AreEqual(50, mockCustomer.AnnualPremium); }
public void GivenCustomerWhenCustomerIsPresentThenReturnAverageMonthlyPremium() { // Arrange var mockPremiumCalculator = new Mock <IPremiumCalculator>(); mockPremiumCalculator.Setup(c => c.CalculateAverageMonthlyPremium(It.IsAny <decimal>(), It.IsAny <int>())).Returns(4.375M); var mockCustomer = this.GetCustomerMock(); var premiumCalculatorBuilder = new PremiumCalculatorBuilder(mockPremiumCalculator.Object); premiumCalculatorBuilder.SetCustomer(mockCustomer); // Act premiumCalculatorBuilder.CalculateAverageMonthlyPremium(); // Assert mockPremiumCalculator.Verify(c => c.CalculateAverageMonthlyPremium(It.IsAny <decimal>(), It.IsAny <int>()), Times.Once); Assert.AreEqual(4.375M, mockCustomer.AverageMonthlyPremium); }
public void GivenCustomerWhenCustomerIsPresentThenReturnCreditCharge() { // Arrange var mockPremiumCalculator = new Mock <IPremiumCalculator>(); mockPremiumCalculator.Setup(c => c.CalculateCreditCharge(It.IsAny <decimal>())).Returns(2.5M); var mockCustomer = this.GetCustomerMock(); var premiumCalculatorBuilder = new PremiumCalculatorBuilder(mockPremiumCalculator.Object); premiumCalculatorBuilder.SetCustomer(mockCustomer); // Act premiumCalculatorBuilder.CalculateCreditCharge(); // Assert mockPremiumCalculator.Verify(c => c.CalculateCreditCharge(It.IsAny <decimal>()), Times.Once); Assert.AreEqual(2.5M, mockCustomer.CreditCharge); }