public void Create()
        {
            var renteReserveDiskontoCalculator = new RenteReserveDiskontoCalculator(TestConstants.DiskonteringsRente19September2012);
            var mortalityCalculator = new MortalityCalculator(TestConstants.DoedsIntensitetFromFinanstilsynetForFemales2011);

            var e = new RenteReserveCalculator(mortalityCalculator, renteReserveDiskontoCalculator, comsumerPriceIndexInPercent:2.0 );
        }
 public void AssertCanCalculateAccumulatedMortalityOfVerifiedDecrementSeries()
 {
     var comparer = BuildComparer(0.001);
     var e = new MortalityCalculator(TestConstants.DoedsIntensitetFromFinanstilsynetForFemales2011);
     var data = e.DecrementSerie.Take(TestConstants.DecrementSerieVerifiedFromAgeZero.Count).ToList();
     CollectionAssert.AreEqual(TestConstants.DecrementSerieVerifiedFromAgeZero, data, comparer);
 }
        public void CalculateForEenKrone()
        {
            var renteReserveDiskontoCalculator = new RenteReserveDiskontoCalculator(TestConstants.DiskonteringsRente19September2012);
            var mortalityCalculator = new MortalityCalculator(TestConstants.DoedsIntensitetFromFinanstilsynetForFemales2011);

            var e = new RenteReserveCalculator(mortalityCalculator, renteReserveDiskontoCalculator, comsumerPriceIndexInPercent: 0);
            const double expected = 30.2067038390154; //celle N6 i regnearket "beregning af rentereserve" panel "rentekurve"
            var calculateForEenKrone = e.CalculateForEenKrone(20,47);

            Expect(expected, Is.EqualTo(calculateForEenKrone).Within(0.001));

            calculateForEenKrone = e.CalculateForEenKrone(20);
            Expect(expected, Is.EqualTo(calculateForEenKrone).Within(0.001));
        }
 public void CanCalculateAccumulatedSurvivalRates()
 {
     var comparer = BuildComparer(0.000005);
     var e = new MortalityCalculator(TestConstants.DoedsIntensitetFromFinanstilsynetForFemales2011);
     var yearsList = new List<KeyValuePair<int,List<double>>>
                         {
                             new KeyValuePair<int, List<double>>(20,TestConstants.SurvivalDataForFemaleAged20AccumulatedVerified),
                             new KeyValuePair<int, List<double>>(22,TestConstants.SurvivalDataForFemaleAged22AccumulatedVerified),
                             new KeyValuePair<int, List<double>>(40,TestConstants.SurvivalDataForFemaleAged40AccumulatedVerified),
                         };
     foreach (var kv in yearsList)
     {
         var age = kv.Key;
         var verifiedValues = kv.Value;
         var years = verifiedValues.Count;
         var data = e.CalculateSurvivalRates(age, years);
         CollectionAssert.AreEqual(verifiedValues, data, comparer);
     }
 }