Beispiel #1
0
        public decimal CalculateTriggerFigure(ExpenditureMetric expenditureMetric, int adultsInHousehold, int childrenUnder16, int childrenOver16)
        {
            var result = expenditureMetric.Adult +
                         (expenditureMetric.AdditionalAdult * (adultsInHousehold - 1) +
                          (expenditureMetric.ChildrenUnder14 * childrenUnder16) +
                          (expenditureMetric.Children14To18 * childrenOver16));

            return(result);
        }
        public void CalculateTriggerFigureTest()
        {
            ExpenditureMetric metric = new ExpenditureMetric()
            {
                AdditionalAdult = 0.5M,
                Adult           = 0.6M,
                Children14To18  = 0.7M,
                ChildrenUnder14 = 0.8M,
            };

            decimal result = this._triggerFigureService.CalculateTriggerFigure(metric, 2, 3, 4);

            Assert.AreEqual(6.3M, result);
        }
Beispiel #3
0
        public void ConvertTest()
        {
            ExpenditureMetricApiModel sourceCommsAndLeisure = new ExpenditureMetricApiModel()
            {
                Name = "Comms and Leisure"
            };

            ExpenditureMetricApiModel sourceFoodAndHousekeeping = new ExpenditureMetricApiModel()
            {
                Name = "Food and Housekeeping"
            };

            ExpenditureMetricApiModel sourcePersonalCosts = new ExpenditureMetricApiModel()
            {
                Name = "Personal Costs"
            };

            ExpenditureMetric commsAndLeisure = new ExpenditureMetric()
            {
                Name                 = "Comms and Leisure",
                AdditionalAdult      = 1,
                Children14To18       = 2,
                AdjustmentPercentage = 55,
                Adult                = 2,
                ChildrenUnder14      = 4,
                Vehicle              = 2
            };

            ExpenditureMetric foodAndHousekeeping = new ExpenditureMetric()
            {
                Name                 = "Food and Housekeeping",
                AdditionalAdult      = 2,
                Children14To18       = 1,
                AdjustmentPercentage = 44,
                Adult                = 3,
                ChildrenUnder14      = 3,
                Vehicle              = 1
            };

            ExpenditureMetric personalCosts = new ExpenditureMetric()
            {
                Name                 = "Personal Costs",
                AdditionalAdult      = 3,
                Children14To18       = 4,
                AdjustmentPercentage = 33,
                Adult                = 1,
                ChildrenUnder14      = 2,
                Vehicle              = 0
            };

            _mapper.Setup(x => x.Map <ExpenditureMetric>(It.Is <ExpenditureMetricApiModel>(m => m.Name == "Comms and Leisure")))
            .Returns(commsAndLeisure);
            _mapper.Setup(x => x.Map <ExpenditureMetric>(It.Is <ExpenditureMetricApiModel>(m => m.Name == "Food and Housekeeping")))
            .Returns(foodAndHousekeeping);
            _mapper.Setup(x => x.Map <ExpenditureMetric>(It.Is <ExpenditureMetricApiModel>(m => m.Name == "Personal Costs")))
            .Returns(personalCosts);

            ExpenditureMetricsApiModel source = new ExpenditureMetricsApiModel()
            {
                GuideLines = new List <ExpenditureMetricApiModel>()
                {
                    sourceCommsAndLeisure,
                    sourceFoodAndHousekeeping,
                    sourcePersonalCosts,
                }
            };

            //Create a copy of source for later
            ExpenditureMetricsApiModel sourceCopy = Utilities.DeepCopy(source);

            ExpenditureMetrics destination = new ExpenditureMetrics();
            ExpenditureMetrics expected    = new ExpenditureMetrics()
            {
                CommsAndLeisure     = commsAndLeisure,
                FoodAndHousekeeping = foodAndHousekeeping,
                PersonalCosts       = personalCosts
            };

            ExpenditureMetrics result = _converter.Convert(source, destination, null);

            //Check that source hasn't been modified
            Assert.IsTrue(Utilities.DeepCompare(source, sourceCopy));

            //Check that result is as expected
            Assert.IsTrue(Utilities.DeepCompare(expected, result));
        }