public void GEDCOMDocument_Save_Saves_Document_Regardless_Of_Record_Order_And_Type(string fileName, int recordCount) { //Arrange var document = new GEDCOMDocument(); if (recordCount > 0) { document.AddRecord(Util.CreateIndividualRecord(1)); } document.AddRecord(Util.CreateHeaderRecord(fileName)); if (recordCount > 1) { document.AddRecord(Util.CreateIndividualRecord(2)); } var sb = new StringBuilder(); var writer = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; //Act document.Save(writer); //Assert GEDCOMAssert.IsValidOutput(GetEmbeddedFileString(fileName), sb); }
public void AddFamily(Family family) { Requires.NotNull("family", family); family.Id = _document.Records.GetNextId(GEDCOMTag.FAM).ToString(); var record = new GEDCOMFamilyRecord(family.Id); if (!string.IsNullOrEmpty(family.HusbandId)) { //Add HUSB record.AddHusband(GEDCOMUtil.CreateId("I", family.HusbandId)); } if (!string.IsNullOrEmpty(family.WifeId)) { //Add WIFE record.AddWife(GEDCOMUtil.CreateId("I", family.WifeId)); } foreach (Individual child in family.Children) { //Add CHIL record.AddChild(GEDCOMUtil.CreateId("I", child.Id)); } _document.AddRecord(record); }
public void GEDCOMDocument_AddRecord_Throws_If_Record_IsNull() { var document = new GEDCOMDocument(); //Assert Assert.Throws <ArgumentNullException>(() => document.AddRecord(null)); }
public void GEDCOMDocument_RemoveRecord_Throws_If_Record_Not_Present() { //Arrange var document = new GEDCOMDocument(); document.AddRecord(Util.CreateHeaderRecord("Header")); for (int i = 1; i <= 2; i++) { document.AddRecord(Util.CreateIndividualRecord(i)); } var record = Util.CreateIndividualRecord(3); //Assert Assert.Throws <ArgumentOutOfRangeException>(() => document.RemoveRecord(record)); }
public void GEDCOMDocument_SaveGEDCOM_Saves_Document(string fileName, int individualCount, int familyCount) { //Arrange var document = new GEDCOMDocument(); document.AddRecord(Util.CreateHeaderRecord(fileName)); for (int i = 1; i <= individualCount; i++) { document.AddRecord(Util.CreateIndividualRecord(i)); } for (int i = 1; i <= familyCount; i++) { document.AddRecord(Util.CreateFamilyRecord(i)); } //Assert GEDCOMAssert.IsValidOutput(GetEmbeddedFileString(fileName), document.SaveGEDCOM()); }
public void GEDCOMDocument_RemoveRecord_Removes_Record_From_Individuals_Collection() { //Arrange var document = new GEDCOMDocument(); document.AddRecord(Util.CreateHeaderRecord("Header")); for (int i = 1; i <= 2; i++) { document.AddRecord(Util.CreateIndividualRecord(i)); } var record = document.IndividualRecords[1] as GEDCOMIndividualRecord; //Act document.RemoveRecord(record); //Assert Assert.AreEqual(1, document.IndividualRecords.Count); }
public void GEDCOMDocument_AddRecord_Adds_HeaderRecord() { //Arrange var document = new GEDCOMDocument(); var record = new GEDCOMHeaderRecord(); //Act document.AddRecord(record); //Assert Assert.IsNotNull(document.SelectHeader()); }
public void GEDCOMDocument_AddRecord_Adds_Record_To_Individuals_Collection() { //Arrange var document = new GEDCOMDocument(); var record = new GEDCOMIndividualRecord(1); int count = document.IndividualRecords.Count; //Act document.AddRecord(record); //Assert Assert.AreEqual(count + 1, document.IndividualRecords.Count); }
public void GEDCOMDocument_Save_Saves_Document_Using_TextWriter(string fileName, int recordCount) { //Arrange var document = new GEDCOMDocument(); document.AddRecord(Util.CreateHeaderRecord(fileName)); for (int i = 1; i <= recordCount; i++) { document.AddRecord(Util.CreateIndividualRecord(i)); } var sb = new StringBuilder(); var writer = new StringWriter(sb); writer.NewLine = "\n"; //Act document.Save(writer); //Assert GEDCOMAssert.IsValidOutput(GetEmbeddedFileString(fileName), sb); }