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 CustomerBuilder(mockPremiumCalculator.Object); premiumCalculatorBuilder.Set(mockCustomer); // Act premiumCalculatorBuilder.CalculateAverageMonthlyPremium(); // Assert mockPremiumCalculator.Verify(c => c.CalculateAverageMonthlyPremium(It.IsAny <decimal>(), It.IsAny <int>()), Times.Once); Assert.AreEqual(4.375M, mockCustomer.AverageMonthlyPremium); }