public async Task ZerosAllProfiles() { ProfilePeriod[] fundingLineOnePeriods = CreateProfilePeriods(2, 2, 2973864M).ToArray(); ProfilePeriod[] fundingLineTwoPeriods = CreateProfilePeriods(1, 2, 2973864M).ToArray(); ProfilePeriod[] fundingLineThreePeriods = CreateProfilePeriods(2, 3, 2973864M).ToArray(); FundingLine fundingLineOne = NewFundingLine(_ => _.WithFundingLineCode(NewRandomString()) .WithFundingLineType(FundingLineType.Payment) .WithDistributionPeriods(NewDistributionPeriod(dp => dp.WithProfilePeriods(fundingLineOnePeriods)))); FundingLine fundingLineTwo = NewFundingLine(_ => _.WithFundingLineCode(NewRandomString()) .WithFundingLineType(FundingLineType.Payment) .WithDistributionPeriods(NewDistributionPeriod(dp => dp.WithProfilePeriods(fundingLineTwoPeriods)))); FundingLine fundingLineThree = NewFundingLine(_ => _.WithFundingLineCode(NewRandomString()) .WithFundingLineType(FundingLineType.Information) .WithDistributionPeriods(NewDistributionPeriod(dp => dp.WithProfilePeriods(fundingLineThreePeriods))) .WithValue(decimal.Multiply(decimal.Multiply(2, 3), 2973864M))); AndTheFundingLines(fundingLineOne, fundingLineTwo, fundingLineThree); await Change.Apply(VariationsApplication); ThenProfilePeriodsShouldBeZeroAmount(fundingLineOnePeriods); AndTheProfilePeriodsShouldBeZeroAmount(fundingLineTwoPeriods); AndFundingLinesValuesShouldBeZeroAmount(fundingLineOne, fundingLineTwo); AndTheProfilePeriodsAmountShouldBe(fundingLineThreePeriods, 2973864M); fundingLineThree.Value .Should() .Be(17843184M); }