Ejemplo n.º 1
0
        public void CalculatePremium_NoRisk_ReturnsZero()
        {
            // arrange
            DateTime    validFrom             = DateTime.UtcNow;
            DateTime    validTill             = DateTime.UtcNow.AddYears(1);
            string      nameOfInsuranceObject = "nameOfInsuranceObject";
            List <Risk> risks           = null;
            PolicyA     policy          = PolicyABuilder.Build(validFrom, validTill, risks, nameOfInsuranceObject);
            decimal     expectedPremium = 0;

            // assert
            policy.Premium.Should().Be(expectedPremium);
        }
Ejemplo n.º 2
0
        public void RemoveRisk_ArgsAreValid_Success()
        {
            // arrange
            string   nameOfInsuranceObject = "name";
            Risk     risk          = RiskBuilder.Build("Risk 1", 100);
            DateTime validFrom     = DateTime.UtcNow;
            DateTime effectiveDate = DateTime.UtcNow;
            PolicyA  policy        = PolicyABuilder.Build(validFrom, effectiveDate, insuranceCompanyService.AvailableRisks.ToList(), nameOfInsuranceObject);

            policyService.GetPolicy(nameOfInsuranceObject, effectiveDate).Returns(policy);
            int expectedRiskCount = insuranceCompanyService.AvailableRisks.Count - 1;

            // act
            insuranceCompanyService.RemoveRisk(nameOfInsuranceObject, risk, validFrom, effectiveDate);

            // assert
            policy.InsuredRisks.Count.Should().Be(expectedRiskCount);
            policy.InsuredRisks.Contains(risk).Should().BeFalse();
        }
Ejemplo n.º 3
0
        public void AddRisk_ArgsAreValid_Success()
        {
            // arrange
            string   nameOfInsuranceObject = "Policy 1";
            Risk     newRisk       = RiskBuilder.Build("Risk 1", 100);
            DateTime validFrom     = DateTime.UtcNow;
            DateTime effectiveDate = DateTime.UtcNow;
            PolicyA  policy        = PolicyABuilder.Build(validFrom, effectiveDate, insuranceCompanyService.AvailableRisks.ToList());

            policyService.GetPolicy(nameOfInsuranceObject, effectiveDate).Returns(policy);
            int expectedCountOfRisk = insuranceCompanyService.AvailableRisks.Count + 1;

            // act
            insuranceCompanyService.AddRisk(nameOfInsuranceObject, newRisk, validFrom, effectiveDate);

            // assert
            policy.InsuredRisks.Count.Should().Be(expectedCountOfRisk);
            policy.InsuredRisks.Should().Contain(newRisk);
        }
Ejemplo n.º 4
0
        public void CalculatePremium_ReturnsSumOfRiskYearlyPrice()
        {
            // arrange
            DateTime    validFrom             = DateTime.UtcNow;
            DateTime    validTill             = DateTime.UtcNow.AddYears(1);
            string      nameOfInsuranceObject = "nameOfInsuranceObject";
            List <Risk> risks = new List <Risk>()
            {
                new Risk()
                {
                    Name = "Risk 1", YearlyPrice = 100
                },
                new Risk()
                {
                    Name = "Risk 2", YearlyPrice = 100
                }
            };
            PolicyA policy          = PolicyABuilder.Build(validFrom, validTill, risks, nameOfInsuranceObject);
            decimal expectedPremium = 200;

            // assert
            policy.Premium.Should().Be(expectedPremium);
        }
Ejemplo n.º 5
0
        public void SellPolicy_ArgsOk_ReturnsPolicy(string nameOfInsuranceObject, DateTime validFrom, short validMonths)
        {
            // arrange
            List <Risk> selectedRisks = new List <Risk>()
            {
                new Risk()
                {
                    Name        = "Risk",
                    YearlyPrice = 100
                }
            };
            DateTime expectedValidTill = validFrom.AddMonths(validMonths);
            PolicyA  policy            = PolicyABuilder.Build(validFrom, expectedValidTill, insuranceCompanyService.AvailableRisks.ToList(), nameOfInsuranceObject);

            policyService.SellPolicy(nameOfInsuranceObject, validFrom, validMonths, selectedRisks).Returns(policy);

            // act
            var result = insuranceCompanyService.SellPolicy(nameOfInsuranceObject, validFrom, validMonths, selectedRisks);

            // assert
            // it would be better if I have a chance to mock it
            result.Should().NotBeNull();
            result.Should().BeEquivalentTo(policy);
        }