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); }
/// <summary> /// Save the GEDCOM Document to a GEDCOMWriter /// </summary> /// <param name = "writer">The GEDCOMWriter to save to.</param> public void Save(GEDCOMWriter writer) { if (writer == null) { throw new ArgumentNullException(typeof(GEDCOMWriter).Name); } writer.NewLine = "\n"; if (SelectTrailer() == null) { AddRecord(new GEDCOMRecord(0, "", "", "TRLR", "")); } //Write Header writer.WriteRecord(SelectHeader()); //Write Submitters writer.WriteRecords(SubmitterRecords, true); //Write individuals writer.WriteRecords(IndividualRecords, true); //Write families writer.WriteRecords(FamilyRecords, true); //Write Trailer writer.WriteRecord(SelectTrailer()); writer.Flush(); }
/// <summary> /// Save the GEDCOM Document to a GEDCOMWriter /// </summary> /// <param name = "writer">The GEDCOMWriter to save to.</param> public void Save(GEDCOMWriter writer) { Requires.NotNull("writer", writer); writer.NewLine = "\n"; if (SelectTrailer() == null) { AddRecord(new GEDCOMRecord(0, "", "", "TRLR", "")); } //Write Header writer.WriteRecord(SelectHeader()); //Write Submitters writer.WriteRecords(SubmitterRecords, true); //Write individuals writer.WriteRecords(IndividualRecords, true); //Write families writer.WriteRecords(FamilyRecords, true); //Write Trailer writer.WriteRecord(SelectTrailer()); writer.Flush(); }
/// <summary> /// Save the GEDCOM Document to a Stream. /// </summary> /// <param name = "stream">The streanm to save to.</param> public void Save(Stream stream) { using (var writer = GEDCOMWriter.Create(stream)) { Save(writer); } }
public void GEDCOMWriter_Create_Creates_Instance_Of_Writer_If_TextWriter_Parameter_Is_Valid() { StringWriter stringWriter = new StringWriter(new StringBuilder()); GEDCOMWriter writer = GEDCOMWriter.Create(stringWriter); Assert.IsInstanceOfType(typeof(GEDCOMWriter), writer); }
public void GEDCOMDocument_Save_If_GEDCOMWriter_Parameter_IsNull() { GEDCOMWriter writer = null; var document = new GEDCOMDocument(); //Assert Assert.Throws <ArgumentNullException>(() => document.Save(writer)); }
public void GEDCOMWriter_WriteLevel_Correctly_Writes_Provided_Level() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.WriteLevel(2); Assert.AreEqual("2", sb.ToString()); }
public void GEDCOMWriter_WriteXRefId_Correctly_Writes_Provided_Id_And_Prefix() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.WriteXRefId(1, "I"); Assert.AreEqual("@I1@", sb.ToString()); }
public void GEDCOMWriter_WriteTag_Correctly_Writes_Provided_TagName() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.WriteTag(GEDCOMTag.INDI); Assert.AreEqual("INDI", sb.ToString()); }
public void GEDCOMWriter_WriteId_Correctly_Writes_Provided_Id() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.WriteId("@I001@"); Assert.AreEqual("@I001@", sb.ToString()); }
public void GEDCOMWriter_WriteRecord_Correctly_Writes_Provided_Level_Tag_And_XRefId() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; writer.WriteRecord("", 2, "@N002@", "NOTE", ""); Assert.AreEqual("2 NOTE @N002@\n", sb.ToString()); }
public void GEDCOMWriter_WriteRecord_Correctly_Writes_Provided_Level_Tag_And_Data() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; writer.WriteRecord("", 1, "", "NAME", "John /Smith/"); Assert.AreEqual("1 NAME John /Smith/\n", sb.ToString()); }
public void GEDCOMWriter_WriteRecord_Correctly_Writes_Provided_Level_Id_And_Tag() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; writer.WriteRecord("@I001@", 0, "", "INDI", ""); Assert.AreEqual("0 @I001@ INDI\n", sb.ToString()); }
/// <summary> /// Save the GEDCOM Document to a String /// </summary> /// <returns>The String representation of the document</returns> public string SaveGEDCOM() { var sb = new StringBuilder(); using (var writer = GEDCOMWriter.Create(sb)) { Save(writer); } return(sb.ToString()); }
public void GEDCOMWriter_WriterRecord_Correctly_Renders_Header_Record() { StringBuilder sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; GEDCOMHeaderRecord record = Util.CreateHeaderRecord("Header"); //write Header writer.WriteRecord(record, false); Assert.AreEqual("0 HEAD\n", sb.ToString()); }
public void GEDCOMWriter_WriterRecords_Correctly_Renders_Two_Individual_Records() { var sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; GEDCOMRecordList individuals = Util.CreateIndividualRecords(); //write Individuals writer.WriteRecords(individuals); //Assert GEDCOMAssert.IsValidOutput(GetEmbeddedFileString("TwoIndividuals"), sb); }
public void GEDCOMWriter_WriterRecord_Correctly_Renders_Individual_Record_And_Children() { var sb = new StringBuilder(); GEDCOMWriter writer = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; GEDCOMIndividualRecord record = Util.CreateIndividualRecord(1); //write Header writer.WriteRecord(record); //Assert GEDCOMAssert.IsValidOutput(GetEmbeddedFileString("OneIndividual"), sb); }
public void GEDCOMDocument_Save_Saves_Document_Using_GEDCOMWriter(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 = GEDCOMWriter.Create(sb); writer.NewLine = "\n"; //Act document.Save(writer); //Assert GEDCOMAssert.IsValidOutput(GetEmbeddedFileString(fileName), sb); }
public void GEDCOMWriter_Create_Throws_Exception_If_TextWriter_Parameter_Is_Null() { StringWriter stringWriter = null; Assert.Throws <ArgumentNullException>(() => GEDCOMWriter.Create(stringWriter)); }
public void GEDCOMWriter_Create_Throws_Exception_If_Stream_Parameter_Is_Null() { Stream s = GetEmbeddedFileStream("InvalidFileName"); Assert.Throws <ArgumentNullException>(() => GEDCOMWriter.Create(s)); }
/// <summary> /// Save the GEDCOM Document to a TextWriter /// </summary> /// <param name = "writer">The TextWriter to save to</param> public void Save(TextWriter writer) { Save(GEDCOMWriter.Create(writer)); }