示例#1
0
        public void CalculatePremiumOfSoldPolicy_ShouldCorrectlyCalculatePremiumWhenRiskValidityPeriodsAreSameWithPolicy()
        {
            var validFrom = DateTime.Now;
            var validTill = validFrom.AddMonths(6);

            var policyId = DEFAULT_OBJECT_NAME + validFrom.ToString();

            RiskRepositoryMock.Setup(mock => mock.GetAll()).Returns(new List <RiskModel>()
            {
                new RiskModel()
                {
                    YearlyPrice = 500.0m,
                    ValidFrom   = validFrom,
                    ValidTill   = validTill,
                    PolicyId    = policyId
                },
                new RiskModel()
                {
                    YearlyPrice = 800.0m,
                    ValidFrom   = validFrom,
                    ValidTill   = validTill,
                    PolicyId    = policyId
                }
            });

            var premium = PremiumCalculator
                          .CalculatePremiumOfSoldPolicy(DEFAULT_OBJECT_NAME, validFrom);

            Assert.AreEqual(651.48m, premium);
        }