protected override List <TestResult> GetTestResults() { var testResults = new List <TestResult>(); if (_filesNotFound.Any()) { foreach (var fileNotFound in _filesNotFound) { testResults.Add(new TestResult(ResultType.Error, new Location(string.Empty), string.Format(Noark5Messages.FileNotFound, fileNotFound))); } return(testResults); } var archiveDates = new StartAndEndDate( _registrationCreationDates.First(), _registrationCreationDates.Last() ); var publicJournalDates = new StartAndEndDate( _headPublicJournal.JournalStartDate, _headPublicJournal.JournalEndDate ); var runningJournalDates = new StartAndEndDate( _headRunningJournal.JournalStartDate, _headRunningJournal.JournalEndDate ); testResults.AddRange(new[] { new TestResult(ResultType.Success, new Location(""), string.Format( Noark5Messages.ArchiveStartAndEndDateControlMessage_DatesArchive, archiveDates.StartDate(), archiveDates.EndDate() )), new TestResult(ResultType.Success, new Location(""), string.Format( Noark5Messages.ArchiveStartAndEndDateControlMessage_DatesPublicJournal, publicJournalDates.StartDate(), publicJournalDates.EndDate() )), new TestResult(ResultType.Success, new Location(""), string.Format( Noark5Messages.ArchiveStartAndEndDateControlMessage_DatesRunningJournal, runningJournalDates.StartDate(), runningJournalDates.EndDate() )) }); if (!StartAndEndDate.Equals(publicJournalDates, runningJournalDates)) { testResults.Add(new TestResult(ResultType.Error, new Location(""), Noark5Messages.ArchiveStartAndEndDateControlMessage_UnEqualJournalDates)); } if (PeriodSeparationIsSharp() && !StartAndEndDate.Equals(archiveDates, publicJournalDates, runningJournalDates)) { testResults.Add(new TestResult(ResultType.Error, new Location(""), Noark5Messages.ArchiveStartAndEndDateControlMessage_UnEqualJournalAndArchiveDates)); } return(testResults); }
public void QueryExecutionThrowsValidationExceptionWhenInvalid() { var query = new StartAndEndDate { Start = DateTime.Now, End = DateTime.Now.AddHours(-1) }; Assert.ThrowsAsync <ValidationException>(async() => await this.requestProcessor.HandleAsync(query, default)); }
public async Task QueryExecutionSucceedsWhenValid() { var query = new StartAndEndDate { Start = DateTime.Now, End = DateTime.Now.AddHours(1) }; var result = await this.requestProcessor.HandleAsync(query, default); Assert.IsTrue(result); }
public void QueryValidationFailsWhenEndIsBeforeStart() { var query = new StartAndEndDate { Start = DateTime.Now, End = DateTime.Now.AddHours(-1) }; var validators = this.GetAllValidators <StartAndEndDate>(); var isValid = validators.All(v => v.Validate(query).IsValid); Assert.IsFalse(isValid); }
public void QueryValidationSucceedsWhenEndIsAfterStart() { var query = new StartAndEndDate { Start = DateTime.Now, End = DateTime.Now.AddHours(1) }; var validators = this.GetAllValidators <StartAndEndDate>(); var isValid = validators.All(v => v.Validate(query).IsValid); Assert.IsTrue(isValid); }
public bool Equals(StartAndEndDate startAndEndDate) { return(startAndEndDate._startDate.Equals(_startDate) && startAndEndDate._endDate.Equals(_endDate)); }
protected override List <TestResult> GetTestResults() { var testResults = new List <TestResult>(); JournalHead headPublicJournal; JournalHead headRunningJournal; ArchiveXmlFile publicJournal = _archive.GetArchiveXmlFile(ArkadeConstants.PublicJournalXmlFileName); ArchiveXmlFile runningJournal = _archive.GetArchiveXmlFile(ArkadeConstants.RunningJournalXmlFileName); try { headPublicJournal = JournalGuillotine.Behead(publicJournal); headRunningJournal = JournalGuillotine.Behead(runningJournal); } catch { testResults.Add(new TestResult( ResultType.Error, new Location(string.Empty), Noark5Messages.CouldNotReadFromFiles) ); return(testResults); } var archiveDates = new StartAndEndDate( _registrationCreationDates.First(), _registrationCreationDates.Last() ); var publicJournalDates = new StartAndEndDate( headPublicJournal.JournalStartDate, headPublicJournal.JournalEndDate ); var runningJournalDates = new StartAndEndDate( headRunningJournal.JournalStartDate, headRunningJournal.JournalEndDate ); testResults.AddRange(new[] { new TestResult(ResultType.Success, new Location(""), string.Format( Noark5Messages.ArchiveStartAndEndDateControlMessage_DatesArchive, archiveDates.StartDate(), archiveDates.EndDate() )), new TestResult(ResultType.Success, new Location(""), string.Format( Noark5Messages.ArchiveStartAndEndDateControlMessage_DatesPublicJournal, publicJournalDates.StartDate(), publicJournalDates.EndDate() )), new TestResult(ResultType.Success, new Location(""), string.Format( Noark5Messages.ArchiveStartAndEndDateControlMessage_DatesRunningJournal, runningJournalDates.StartDate(), runningJournalDates.EndDate() )) }); if (!StartAndEndDate.Equals(publicJournalDates, runningJournalDates)) { testResults.Add(new TestResult(ResultType.Error, new Location(""), Noark5Messages.ArchiveStartAndEndDateControlMessage_UnEqualJournalDates)); } if (_periodSeparationIsSharp && !StartAndEndDate.Equals(archiveDates, publicJournalDates, runningJournalDates)) { testResults.Add(new TestResult(ResultType.Error, new Location(""), Noark5Messages.ArchiveStartAndEndDateControlMessage_UnEqualJournalAndArchiveDates)); } return(testResults); }