Exemple #1
0
        public void ValidationPassesIfThereAreMultiplePriceEpisodes()
        {
            var learner = new FM36Learner
            {
                PriceEpisodes = new List <PriceEpisode>
                {
                    new PriceEpisode
                    {
                        PriceEpisodeIdentifier = "pe-1",
                        PriceEpisodeValues     = new PriceEpisodeValues
                        {
                            EpisodeStartDate           = DateTime.Today.AddMonths(-2),
                            PriceEpisodePlannedEndDate = DateTime.Today,
                            PriceEpisodeActualEndDate  = DateTime.Today.AddDays(-36)
                        }
                    },
                    new PriceEpisode
                    {
                        PriceEpisodeIdentifier = "pe-2",
                        PriceEpisodeValues     = new PriceEpisodeValues
                        {
                            EpisodeStartDate           = DateTime.Today.AddDays(-35),
                            PriceEpisodePlannedEndDate = DateTime.Today,
                        }
                    }
                }
            };

            var rule   = new OverlappingPriceEpisodeValidationRule();
            var result = rule.IsValid(learner);

            Assert.IsFalse(result.Failed);
        }
Exemple #2
0
        public void Validation_Fails_If_There_Are_Overlapping_Price_Episodes()
        {
            var learner = new FM36Learner
            {
                PriceEpisodes = new List <PriceEpisode>
                {
                    new PriceEpisode
                    {
                        PriceEpisodeIdentifier = "pe-1",
                        PriceEpisodeValues     = new PriceEpisodeValues
                        {
                            EpisodeStartDate           = DateTime.Today.AddMonths(-2),
                            PriceEpisodePlannedEndDate = DateTime.Today.AddDays(-30),
                            PriceEpisodeActualEndDate  = DateTime.Today.AddDays(-30)
                        }
                    },
                    new PriceEpisode
                    {
                        PriceEpisodeIdentifier = "pe-2",
                        PriceEpisodeValues     = new PriceEpisodeValues
                        {
                            EpisodeStartDate           = DateTime.Today.AddDays(-35),
                            PriceEpisodePlannedEndDate = DateTime.Today,
                        }
                    }
                }
            };

            var rule   = new OverlappingPriceEpisodeValidationRule();
            var result = rule.IsValid(learner);

            Assert.IsTrue(result.Failed, result.FailureReason);
        }