public void SummariseByPeriods() { var collectionPeriods = GetCollectionPeriods(1920); var result = SummarisationPaymentsProcess.SummarisePeriods(GetPeriodsData(1920), collectionPeriods); result.Count.Should().Be(12); foreach (var item in result) { item.ActualValue.Should().Be(periodsToGenerate * amount); } }
public void SummariseByFundingStream_R02(int apprenticeshipContractType, string fspCode, int dlc, string fundingSourceCSV, string transactionTypesCSV, string academicYearsCSV) { var fundingTypes = GetFundingTypes(); FundingStream fundingStream = fundingTypes.SelectMany(ft => ft.FundingStreams).Where(fs => fs.PeriodCode.Equals(fspCode, StringComparison.OrdinalIgnoreCase) && fs.DeliverableLineCode == dlc).First(); List <int> academicYears = academicYearsCSV.Split(',').Select(int.Parse).ToList(); int ilrFundlineCount = fundingStream.FundLines.Count(fl => fl.LineType.Equals("ILR", StringComparison.OrdinalIgnoreCase) && academicYears.Contains(fl.AcademicYear.HasValue ? fl.AcademicYear.Value : 0)); int easFundlineCount = fundingStream.FundLines.Count(fl => fl.LineType.Equals("EAS", StringComparison.OrdinalIgnoreCase) && academicYears.Contains(fl.AcademicYear.HasValue ? fl.AcademicYear.Value : 0)); List <int> fundingSources = fundingSourceCSV.Split(',').Select(int.Parse).ToList(); List <int> transactionTypes = transactionTypesCSV.Split(',').Select(int.Parse).ToList(); var summarisationMessageMock = new Mock <ISummarisationMessage>(); summarisationMessageMock.SetupGet(s => s.CollectionYear).Returns(1920); summarisationMessageMock.SetupGet(s => s.CollectionMonth).Returns(2); var task = new SummarisationPaymentsProcess(); var results = task.Summarise(fundingStream, GetTestProvider(apprenticeshipContractType, fundingSources, transactionTypes), GetContractAllocation(), GetCollectionPeriods(0), summarisationMessageMock.Object).OrderBy(x => x.Period).ToList(); results.Count.Should().Be(1); foreach (var item in results) { decimal ilrActualValue = learningDeliveryRecords * fundingSources.Count * ilrFundlineCount * transactionTypes.Count * periodsToGenerate * amount; decimal easActualValue = learningDeliveryRecords * easFundlineCount * periodsToGenerate * amount; decimal actualValue = ilrActualValue + easActualValue; item.ActualValue.Should().Be(actualValue); item.ContractAllocationNumber.Should().Be("AllocLEVY1799-2"); } }