コード例 #1
0
        private static GedcomDate CreateDate(string dateText)
        {
            var date = new GedcomDate();

            date.ParseDateString(dateText);
            return(date);
        }
コード例 #2
0
        private void Single_part_string_is_treated_as_year(string dateText, GedcomDatePeriod expectedPeriod)
        {
            var date = new GedcomDate();

            date.ParseDateString(dateText);

            Assert.Equal(expectedPeriod, date.DatePeriod);
        }
コード例 #3
0
        private void Two_part_string_is_treated_as_year_and_month(string dateText, DateTime expectedDate1)
        {
            var date = new GedcomDate();

            date.ParseDateString(dateText);

            Assert.Equal(expectedDate1, date.DateTime1);
        }
コード例 #4
0
        private void Dates_are_faulty_and_marked_with_error_for_user_review(string dateText, ParserMessageIds expectedMessage)
        {
            var date = new GedcomDate();

            date.ParseDateString(dateText);

            Assert.Equal(expectedMessage, date.ParserMessages.Single().MessageId);
        }
コード例 #5
0
        private void Compare_by_date_returns_zero_when_dates_are_both_null()
        {
            GedcomDate dateA = null;
            GedcomDate dateB = null;

            var result = GedcomDate.CompareByDate(dateA, dateB);

            Assert.True(result == 0);
        }
コード例 #6
0
        private void Compare_by_date_returns_greater_than_zero_when_only_second_internal_date_is_null()
        {
            var dateA = CreateDate("1 Jan 1900");
            var dateB = new GedcomDate();

            var result = GedcomDate.CompareByDate(dateA, dateB);

            Assert.True(result == 1);
        }
コード例 #7
0
        private void Compare_by_date_returns_zero_when_internal_date_values_are_both_null()
        {
            var dateA = new GedcomDate();
            var dateB = new GedcomDate();

            var result = GedcomDate.CompareByDate(dateA, dateB);

            Assert.True(result == 0);
        }
コード例 #8
0
        private void Compare_by_date_returns_greater_than_zero_when_only_second_date_is_null()
        {
            GedcomDate dateA = new GedcomDate();
            GedcomDate dateB = null;

            var result = GedcomDate.CompareByDate(dateA, dateB);

            Assert.True(result == 1);
        }
コード例 #9
0
        private void Compare_by_date_sorts_two_dates_correctly(string dateAText, string dateBText, int expectedSortValue)
        {
            var dateA = CreateDate(dateAText);
            var dateB = CreateDate(dateBText);

            var actualSortValue = GedcomDate.CompareByDate(dateA, dateB);

            Assert.Equal(expectedSortValue, actualSortValue);
        }
コード例 #10
0
        private void Estimate_indicators_cause_years_to_be_imported_as_estimates(string dateText, int expectedYear)
        {
            var date = new GedcomDate();

            date.ParseDateString(dateText);

            Assert.Equal(GedcomDatePeriod.Estimate, date.DatePeriod);
            Assert.Equal(expectedYear, date.DateTime1.Value.Year);
        }
コード例 #11
0
        private void Dates_are_corrected_and_marked_with_warning_for_user_review(string dateText, DateTime expectedDate, ParserMessageIds expectedMessage)
        {
            var date = new GedcomDate();

            date.ParseDateString(dateText);

            Assert.Equal(expectedDate, date.DateTime1);
            Assert.Equal(expectedMessage, date.ParserMessages.Single().MessageId);
        }
コード例 #12
0
        private void Compare_by_date_returns_less_than_zero_when_only_first_date_is_null()
        {
            GedcomDate dateA = null;
            GedcomDate dateB = new GedcomDate();

            var result = GedcomDate.CompareByDate(dateA, dateB);

            Assert.True(result == -1);
        }
コード例 #13
0
        public void GedComComparison_GedcomDate_IsEquivalentTo_ExpectAreEqual()
        {
            // Arrange
            var object1 = new GedcomDate();
            var object2 = new GedcomDate();

            // Act and Assert
            Assert.True(object1.IsEquivalentTo(object2));
            Assert.True(object2.IsEquivalentTo(object1));
        }
コード例 #14
0
        private void Partial_dates_are_interpreted_as_ranges_and_noted_as_changed(string dateText, DateTime dateFrom, DateTime dateTo, ParserMessageIds expectedMessage)
        {
            var date = new GedcomDate();

            date.ParseDateString(dateText);

            Assert.Equal(GedcomDatePeriod.Range, date.DatePeriod);
            Assert.Equal(dateFrom, date.DateTime1);
            Assert.Equal(dateTo, date.DateTime2);
            Assert.Equal(expectedMessage, date.ParserMessages.Single().MessageId);
        }
コード例 #15
0
        /// <summary>
        /// Adds a sample person (well, a cartoon mouse) to the presidents file. The mouse may do a better job if elected president.
        /// </summary>
        /// <param name="db">The database to add the individual to.</param>
        public static void AddPerson(GedcomDatabase db)
        {
            var individual = new GedcomIndividualRecord(db);

            var name = individual.Names[0];

            name.Given   = "Michael";
            name.Surname = "Mouse";
            name.Nick    = "Mickey";

            individual.Names.Add(name);

            var birthDate = new GedcomDate(db);

            birthDate.ParseDateString("24 Jan 1933");
            individual.Events.Add(new GedcomIndividualEvent
            {
                Database  = db,
                Date      = birthDate,
                EventType = Enums.GedcomEventType.Birth
            });

            Console.WriteLine($"Added record for '{individual.GetName().Name}' with birth date {individual.Birth.Date.Date1}.");
        }
コード例 #16
0
 private void Compare_second_date_against_null_is_not_equal_using_type_comparison()
 {
     Assert.False(GedcomDate.Equals(null, new GedcomDate()));
 }
コード例 #17
0
 private void Compare_first_date_against_null_is_not_equal_using_type_comparison()
 {
     Assert.False(GedcomDate.Equals(new GedcomDate(), null));
 }
コード例 #18
0
 private void Two_null_dates_are_equal_using_type_comparison()
 {
     Assert.True(GedcomDate.Equals(null, null));
 }
コード例 #19
0
        private void Compare_empty_date_against_null_is_not_equal_using_instance_comparison()
        {
            var dateA = new GedcomDate();

            Assert.False(dateA.Equals(null));
        }