Exemple #1
0
        public void GetEarningsForPeriod_OnlyMatchesCorrectAttributesAndPeriod()
        {
            var earningsAndPaymentsBuilder = new EarningsAndPaymentsBuilder() as IEarningsAndPaymentsBuilder;
            var periodisedValuesForPayment = new List <ApprenticeshipPriceEpisodePeriodisedValues>
            {
                new ApprenticeshipPriceEpisodePeriodisedValues {
                    AttributeName = "ATTRIB1", Period_1 = 1
                },
                new ApprenticeshipPriceEpisodePeriodisedValues {
                    AttributeName = "ATTRIB2", Period_1 = 2
                },
                new ApprenticeshipPriceEpisodePeriodisedValues {
                    AttributeName = "ATTRIB4", Period_1 = 4
                },
                new ApprenticeshipPriceEpisodePeriodisedValues {
                    AttributeName = "ATTRIB2", Period_2 = 8
                },
            };
            var attributeTypes = new string[] { "attrib1", "attrib2" };

            var result =
                earningsAndPaymentsBuilder.GetEarningsForPeriod(periodisedValuesForPayment, attributeTypes, pvp => pvp.Period_1);

            result.Should().Be(3);
        }
Exemple #2
0
        public void GetEarningsForPeriod_EmptyArraysDontCrash()
        {
            var earningsAndPaymentsBuilder = new EarningsAndPaymentsBuilder() as IEarningsAndPaymentsBuilder;
            var periodisedValuesForPayment = new List <ApprenticeshipPriceEpisodePeriodisedValues> {
            };
            var attributeTypes             = new string[] { };

            var result =
                earningsAndPaymentsBuilder.GetEarningsForPeriod(periodisedValuesForPayment, attributeTypes, pvp => pvp.Period_1);

            result.Should().Be(0);
        }