示例#1
0
        public void TestGetDeductibleWithValidProductId()
        {
            // ----------------------
            // Test the happy path
            // ----------------------
            // Setup
            var mockRepository = new Mock <IBenefitRepository>();
            var mockDeduct     = new List <Deductible>();

            mockDeduct.Add(new Deductible()
            {
                Level = 1, Amount = 2000
            });
            mockDeduct.Add(new Deductible()
            {
                Level = 2, Amount = 3000
            });
            mockRepository.Setup(repository => repository.GetDeductible("ABC00001")).Returns(mockDeduct);

            //Execute
            var benefit = new MultiTierBenefit(mockRepository.Object);
            var deduct  = benefit.GetDeductible("ABC00001");

            //Assertion
            deduct.FirstOrDefault <Deductible>().Level.Should().Be(1);
            deduct.FirstOrDefault <Deductible>().Amount.Should().Be(2000);
        }
示例#2
0
        public void Test_MultiTierBenefits_GetDeductibles()
        {
            var multiTierBenefit   = new MultiTierBenefit(_mockBenefitRepo.Object);
            var benefitDeductibles = multiTierBenefit.GetDeductibles("ABC00001");

            benefitDeductibles.Count().Should().Be(2);
        }
示例#3
0
        public void Test_MultiTierBenefits_GetOopMax()
        {
            var multiTierBenefit = new MultiTierBenefit(_mockBenefitRepo.Object);
            var benefitOopMax    = multiTierBenefit.GetOopMax("ABC00001");

            benefitOopMax.Amount.Should().Be(500);
        }
示例#4
0
        public void Test_MultiTierBenefits_GetOopMaxMet()
        {
            var multiTierBenefit = new MultiTierBenefit(_mockBenefitRepo.Object);
            var benefitOopMaxMet = multiTierBenefit.GetOopMaxMet("X0001");

            benefitOopMaxMet.Should().Be(500);
        }
示例#5
0
        public void Test_MultiTierBenefits_GetClaims()
        {
            var multiTierBenefit = new MultiTierBenefit(_mockBenefitRepo.Object);
            var benefitClaims    = multiTierBenefit.GetClaims("X0001");

            benefitClaims.Count().Should().Be(4);
        }
示例#6
0
 public void WhenIInquireAMemberCurrentOOPAmount()
 {
     try
     {
         // Action & Asserion
         using (var context = new BenefitDbContext(_options))
         {
             var benefitDb = new BenefitRepository(context);
             var benefit   = new MultiTierBenefit(benefitDb);
             _claimTotalMember1 = benefit.GetOopMaxMet("X0001");
             _claimTotalMember2 = benefit.GetOopMaxMet("X0002");
         }
     }
     catch (Exception e)
     {
         // Any exception occurs, it should be considered testing failed.
         e.Message.Should().BeNullOrEmpty();
     }
     finally
     {
         if (_conn.State != ConnectionState.Closed)
         {
             _conn.Close();
         }
         _conn.Dispose();
     }
 }
示例#7
0
 public void WhenIInquireAMemberCurrentOOPAmount()
 {
     try
     {
         // Action & Asserion
         using (var context = new BenefitDbContext(_options))
         {
             var benefitDb = new BenefitRepository(context);
             var benefit   = new MultiTierBenefit(benefitDb);
             _claimTotal = benefit.GetClaimTotal("X0002");
         }
     }
     catch (Exception e)
     {
     }
     finally
     {
         if (_conn.State != ConnectionState.Closed)
         {
             _conn.Close();
         }
         _conn.Dispose();
     }
 }
示例#8
0
        public void WhenIInquireTheDeductibleAmount()
        {
            var benefit = new MultiTierBenefit(_mockRepository.Object);

            _deduct = benefit.GetDeductible("ABC00001");
        }