Пример #1
0
        SplitContractEarningByRedundancyDate_GiveRedundancyDateOutsideLearningPeriod_LeaveEarningEventUnaffected()
        {
            var act1Builder = new TestContractTypeEarningEventBuilder <ApprenticeshipContractType1EarningEvent>();
            var act1Earning = act1Builder.Build();

            var redundancyDate = new DateTime(1921, 5, 1);

            var events = service.SplitContractEarningByRedundancyDate(act1Earning, redundancyDate);

            events.Should().HaveCount(2);
        }
        public void SplitContractEarningByRedundancyDate_ShouldCreateSplitOriginalEarningAtCorrectPeriodAndRemoveCorrectPeriods()
        {
            var act1Builder = new TestContractTypeEarningEventBuilder <ApprenticeshipContractType1EarningEvent>();
            var act1Earning = act1Builder.Build();

            ValidateContractTypeEarningsSplitAndType(act1Earning, typeof(ApprenticeshipContractType1RedundancyEarningEvent));

            var act2Builder = new TestContractTypeEarningEventBuilder <ApprenticeshipContractType2EarningEvent>();
            var act2Earning = act2Builder.Build();

            ValidateContractTypeEarningsSplitAndType(act2Earning, typeof(ApprenticeshipContractType2RedundancyEarningEvent));
        }
        SplitContractEarningByRedundancyDate_GiveRedundancyDateOutsideLearningPeriod_LeaveEarningEventUnaffected()
        {
            var act1Builder = new TestContractTypeEarningEventBuilder <ApprenticeshipContractType1EarningEvent>();
            var act1Earning = act1Builder.Build();

            var redundancyDate = new DateTime(1921, 5, 1);

            var events = service.OriginalAndRedundancyEarningEventIfRequired(act1Earning, new List <byte> {
                10, 11, 12
            });

            events.Should().HaveCount(2);
        }