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);
        }