public void GedComComparison_GedcomHeader_IsEquivalentTo_ExpectAreEqual() { // Arrange var object1 = new GedcomHeader(); var object2 = new GedcomHeader(); // Act and Assert Assert.True(object1.IsEquivalentTo(object2)); Assert.True(object2.IsEquivalentTo(object1)); }
/// <summary> /// Initializes a new instance of the <see cref="GedcomHeaderTest"/> class. /// </summary> public GedcomHeaderTest() { header1 = GenerateHeader(); header2 = GenerateHeader(); }
public static ParseResult <GedcomHeader> Parse(GedcomLine first, ILineProvider lineProvider) { CurrentLevel currentLevel = CurrentLevel.None; var header = new GedcomHeader(); GedcomLine line = default; string currentRawLine; while ((currentRawLine = lineProvider.ReadLine()) != null) { line = ParserHelper.ParseLine(currentRawLine); if (line.Level == 0) { break; } if (line.Level == 1) { switch (line.GetTagOrRef()) { case "SOUR": currentLevel = CurrentLevel.Sour; break; case "GEDC": currentLevel = CurrentLevel.Gedc; break; case "CHAR": header.GedcomCharacterSet = line.GetLineContent(); break; } } else if (line.Level == 2) { if (currentLevel == CurrentLevel.Sour) { switch (line.GetTagOrRef()) { case "NAME": header.SourceName = line.GetLineContent(); break; case "VERS": header.SourceVers = line.GetLineContent(); break; case "CORP": header.SourceCorp = line.GetLineContent(); break; } } else if (currentLevel == CurrentLevel.Gedc) { if (line.GetTagOrRef() == "VERS") { header.GedcomVers = line.GetLineContent(); } } } } return(ParseResult.Create(header, line)); }
public static ParseResult <GedcomHeader> Parse(GedcomLine first, ILineProvider lineProvider) { CurrentLevel currentLevel = CurrentLevel.None; var header = new GedcomHeader(); GedcomLine line = default; ReadOnlySpan <char> currentRawLine; while ((currentRawLine = lineProvider.ReadLine()).Length > 0) { line = ParserHelper.ParseLine(currentRawLine); if (line.Level == 0) { break; } if (line.Level == 1) { var tag = line.GetFirstItem(); if (ParserHelper.Equals(tag, "SOUR")) { currentLevel = CurrentLevel.Sour; } else if (ParserHelper.Equals(tag, "GEDC")) { currentLevel = CurrentLevel.Gedc; } else if (ParserHelper.Equals(tag, "CHAR")) { header.GedcomCharacterSet = line.GetLineContent(4).ToString(); } } else if (line.Level == 2) { if (currentLevel == CurrentLevel.Sour) { var tag = line.GetFirstItem(); if (ParserHelper.Equals(tag, "NAME")) { header.SourceName = line.GetLineContent(4).ToString(); } else if (ParserHelper.Equals(tag, "VERS")) { header.SourceVers = line.GetLineContent(4).ToString(); } else if (ParserHelper.Equals(tag, "CORP")) { header.SourceCorp = line.GetLineContent(4).ToString(); } } else if (currentLevel == CurrentLevel.Gedc) { if (ParserHelper.Equals(line.GetFirstItem(), "VERS")) { header.GedcomVers = line.GetLineContent(4).ToString(); } } } } return(ParseResult.Create(header, line)); }