Exemplo n.º 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);
        }
        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);
        }
Exemplo n.º 3
0
        public void GEDCOMDocument_AddRecord_Throws_If_Record_IsNull()
        {
            var document = new GEDCOMDocument();

            //Assert
            Assert.Throws <ArgumentNullException>(() => document.AddRecord(null));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        public void GEDCOMDocument_AddRecord_Adds_HeaderRecord()
        {
            //Arrange
            var document = new GEDCOMDocument();
            var record   = new GEDCOMHeaderRecord();

            //Act
            document.AddRecord(record);

            //Assert
            Assert.IsNotNull(document.SelectHeader());
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }