/// <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);
 }
예제 #2
0
 /// <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);
        }