/// <summary> /// Initializes a new instance of the <see cref="GedcomParserMessage"/> class. /// </summary> /// <param name="messageId">The message identifier, from the master list of enums.</param> /// <param name="additional">A bunch of context parameters that are relevant to this message id.</param> public GedcomParserMessage(ParserMessageIds messageId, object[] additional) { MessageId = messageId; AdditionalData.AddRange(additional); }
/// <summary> /// Adds a warning, information or error message for the user to review after parsing. /// </summary> /// <param name="warningId">The warning identifier.</param> /// <param name="additional">An array of additional data for context on the error.</param> protected void AddParserMessage(ParserMessageIds warningId, params object[] additional) { // TODO: Can we figure out what field this issue occurred on? For date, death, burial etc. ParserMessages.Add(new GedcomParserMessage(warningId, additional)); }
private void Partial_dates_are_interpreted_as_ranges_and_noted_as_changed(string dateText, DateTime dateFrom, DateTime dateTo, ParserMessageIds expectedMessage) { var date = new GedcomDate(); date.ParseDateString(dateText); Assert.Equal(GedcomDatePeriod.Range, date.DatePeriod); Assert.Equal(dateFrom, date.DateTime1); Assert.Equal(dateTo, date.DateTime2); Assert.Equal(expectedMessage, date.ParserMessages.Single().MessageId); }
private void Dates_are_faulty_and_marked_with_error_for_user_review(string dateText, ParserMessageIds expectedMessage) { var date = new GedcomDate(); date.ParseDateString(dateText); Assert.Equal(expectedMessage, date.ParserMessages.Single().MessageId); }
private void Dates_are_corrected_and_marked_with_warning_for_user_review(string dateText, DateTime expectedDate, ParserMessageIds expectedMessage) { var date = new GedcomDate(); date.ParseDateString(dateText); Assert.Equal(expectedDate, date.DateTime1); Assert.Equal(expectedMessage, date.ParserMessages.Single().MessageId); }