public void ToPersonRelationTypeArray_DeadWithPnr_NotEmpty(
                [ValueSource(typeof(Utilities), "AlphabetChars")] char deadCivilStatus
                )
            {
                var result = IndividualResponseType.ParseBatch(Properties.Resources.U12170_P_opgavenr_110901_ADRNVN_FE);
                var f      = result.Where(r => r.CurrentCivilStatus.CivilStatusCode == 'D' || r.HistoricalCivilStatus.Where(c => c.CivilStatusCode == 'D').Count() > 0).ToArray();
                var civil  = new CurrentCivilStatusType()
                {
                    CivilStatusCode = deadCivilStatus, CivilStatusStartDate = DateTime.Today, PNR = Utilities.RandomCprNumberString(), SpousePNR = Utilities.RandomCprNumberString()
                };
                var ret1 = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(),
                                                                        Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus),
                                                                        Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus),
                                                                        Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus),
                                                                        deadCivilStatus,
                                                                        false
                                                                        );
                var ret2 = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(),
                                                                        Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus),
                                                                        Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus),
                                                                        Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus),
                                                                        deadCivilStatus,
                                                                        true);

                Assert.AreEqual(1, ret1.Length + ret2.Length);
            }
            public void ToPersonRelationTypeArray_DeadNoPnr_Empty(
                [ValueSource(typeof(Utilities), "AlphabetChars")] char deadCivilStatus
                )
            {
                var civil = new CurrentCivilStatusType()
                {
                    CivilStatusCode = deadCivilStatus, CivilStatusStartDate = DateTime.Today
                };
                var ret = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), deadCivilStatus, false);

                Assert.IsEmpty(ret);
            }
            public void ToPersonRelationTypeArray_UnMarried_CorrectEndDate(
                [ValueSource(typeof(Utilities), "AlphabetChars")] char endedCivilStatus
                )
            {
                var civil = new CurrentCivilStatusType()
                {
                    CivilStatusCode = endedCivilStatus, CivilStatusStartDate = DateTime.Today, SpousePNR = Utilities.RandomCprNumberString()
                };
                var ret = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, false);

                Assert.AreEqual(DateTime.Today, ret[0].Virkning.TilTidspunkt.ToDateTime());
            }
            public void ToSpouses_InvalidPNR_EmptyArray(
                [Values('U', 'G', 'F', 'E', 'P', 'O', 'L', 'D')] char maritalStatus,
                [Values(1, 20, 130, 12345678)] decimal pnr)
            {
                var civil = new CurrentCivilStatusType()
                {
                    CivilStatusCode = maritalStatus, PNR = Converters.DecimalToString(pnr, 10)
                };
                var ret = CivilStatusWrapper.ToSpouses(civil, null, cpr => Guid.NewGuid());

                Assert.IsEmpty(ret);
            }
            public void ToPersonRelationTypeArray_UnMarried_NullStartDate(
                [ValueSource(typeof(Utilities), "AlphabetChars")] char endedCivilStatus,
                [Values(true, false)] bool sameGenderForDead
                )
            {
                var civil = new CurrentCivilStatusType()
                {
                    CivilStatusCode = endedCivilStatus, CivilStatusStartDate = DateTime.Today, SpousePNR = Utilities.RandomCprNumberString()
                };
                var ret = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, sameGenderForDead);

                Assert.Null(ret[0].Virkning.FraTidspunkt.ToDateTime());
            }