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); }
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); }