Exemple #1
0
        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();
        }
Exemple #3
0
        /// <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);
        }
Exemple #6
0
        public void GEDCOMDocument_Save_If_GEDCOMWriter_Parameter_IsNull()
        {
            GEDCOMWriter writer   = null;
            var          document = new GEDCOMDocument();

            //Assert
            Assert.Throws <ArgumentNullException>(() => document.Save(writer));
        }
Exemple #7
0
        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());
        }
Exemple #8
0
        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());
        }
Exemple #9
0
        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());
        }
Exemple #10
0
        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());
        }
Exemple #11
0
        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());
        }
Exemple #12
0
        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());
        }
Exemple #13
0
        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());
        }
Exemple #15
0
        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());
        }
Exemple #16
0
        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);
        }
Exemple #17
0
        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);
        }
Exemple #18
0
        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);
        }
Exemple #19
0
        public void GEDCOMWriter_Create_Throws_Exception_If_TextWriter_Parameter_Is_Null()
        {
            StringWriter stringWriter = null;

            Assert.Throws <ArgumentNullException>(() => GEDCOMWriter.Create(stringWriter));
        }
Exemple #20
0
        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));
 }