コード例 #1
0
        public Predicate <T> BuildFilter <T>(FactDate when, Func <FactDate, T, FactLocation> location)
        {
            Predicate <T> locationFilter = FilterUtils.TrueFilter <T>();

            string country(FactLocation x) => x.Country;

            if (Scotland)
            {
                locationFilter = FilterUtils.LocationFilter <T>(when, location, country, Countries.SCOTLAND);
            }
            else if (England)
            {
                locationFilter = FilterUtils.LocationFilter <T>(when, location, country, Countries.ENGLAND);
            }
            else if (Wales)
            {
                locationFilter = FilterUtils.LocationFilter <T>(when, location, country, Countries.WALES);
            }
            else if (UK)
            {
                locationFilter = FilterUtils.OrFilter <T>(FilterUtils.LocationFilter <T>(when, location, country, Countries.SCOTLAND),
                                                          FilterUtils.LocationFilter <T>(when, location, country, Countries.ENGLAND),
                                                          FilterUtils.LocationFilter <T>(when, location, country, Countries.WALES));
            }
            else if (Canada)
            {
                locationFilter = FilterUtils.LocationFilter <T>(when, location, country, Countries.CANADA);
            }
            else if (USA)
            {
                locationFilter = FilterUtils.LocationFilter <T>(when, location, country, Countries.UNITED_STATES);
            }
            return(locationFilter);
        }
コード例 #2
0
        public void FactDateBasicTest()
        {
            FactDate target = BasicDates();

            target = AlternateDateFormats();

            target = new FactDate("C1914");
            Assert.AreEqual(new DateTime(1913, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1914, 12, 31), target.EndDate);

            target = new FactDate("ABT 966");
            Assert.AreEqual(new DateTime(965, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            target = new FactDate("966");
            Assert.AreEqual(new DateTime(966, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            // interpreted dates
            target = new FactDate("INT 4 OCT 1723 4DA 8MNTH 1723");
            Assert.AreEqual(new DateTime(1723, 10, 4), target.StartDate);
            Assert.AreEqual(new DateTime(1723, 10, 4), target.EndDate);

            target = new FactDate("BET 5/6/2018 AND 7/6/2018");
            Assert.AreEqual(new DateTime(2018, 6, 5), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 6, 7), target.EndDate);
        }
コード例 #3
0
        public void SpecialDates()
        {
            FactDate target = new FactDate("ABT @#DJULIAN@ 1567");

            Assert.AreEqual(new DateTime(1566, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1567, 12, 31), target.EndDate);
        }
コード例 #4
0
        public void FactDateComparisonTest()
        {
            FactDate first  = new FactDate("1 January 1721/2");
            FactDate second = new FactDate("31 December 1721");
            FactDate third  = new FactDate("31 December 1722");
            FactDate fourth = new FactDate("1722");

            Assert.IsTrue(second.IsBefore(first));
            Assert.IsTrue(second.StartsBefore(first));
            Assert.IsTrue(first.IsAfter(second));
            Assert.IsTrue(first.EndsAfter(second));
            Assert.IsFalse(first.Overlaps(second));
            Assert.IsTrue(first.IsBefore(third));
            Assert.IsTrue(third.IsAfter(first));
            Assert.IsFalse(first.IsBefore(fourth));
            Assert.IsTrue(first.Overlaps(fourth));
            Assert.IsFalse(fourth.IsBefore(first));
            Assert.IsFalse(fourth.IsAfter(first));

            FactDate census = new FactDate("BET 31 DEC 1910 AND 2 APR 1911");

            Assert.IsTrue(census.Overlaps(CensusDate.UKCENSUS1911));
            census = new FactDate("BET 1 JAN 1911 AND 2 APR 1911");
            Assert.IsTrue(census.Overlaps(CensusDate.UKCENSUS1911));
            census = new FactDate("FROM 31 DEC 1910 TO 2 APR 1911");
            Assert.IsTrue(census.Overlaps(CensusDate.UKCENSUS1911));
            census = new FactDate("FROM 1 JAN 1911 TO 2 APR 1911");
            Assert.IsTrue(census.Overlaps(CensusDate.UKCENSUS1911));
        }
コード例 #5
0
        private static FactDate DoubleDates()
        {
            // Double dates
            FactDate target = new FactDate("11 Mar 1747/48");

            Assert.AreEqual(new DateTime(1748, 3, 11), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 11), target.EndDate);

            target = new FactDate("Mar 1747/48");
            Assert.AreEqual(new DateTime(1748, 3, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 31), target.EndDate);

            target = new FactDate("1747/48");
            Assert.AreEqual(new DateTime(1748, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 12, 31), target.EndDate);

            target = new FactDate("11 Mar 1747/1748");
            Assert.AreEqual(new DateTime(1748, 3, 11), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 11), target.EndDate);

            target = new FactDate("15 FEB 1599/00");
            Assert.AreEqual(new DateTime(1600, 2, 15), target.StartDate);
            Assert.AreEqual(new DateTime(1600, 2, 15), target.EndDate);

            target = new FactDate("1 MAR 922/23");
            Assert.AreEqual(new DateTime(923, 3, 1), target.StartDate);
            Assert.AreEqual(new DateTime(923, 3, 1), target.EndDate);

            target = new FactDate("1 MAR 922/923");
            Assert.AreEqual(new DateTime(923, 3, 1), target.StartDate);
            Assert.AreEqual(new DateTime(923, 3, 1), target.EndDate);
            return(target);
        }
コード例 #6
0
ファイル: MapHelper.cs プロジェクト: ennoborg/FTAnalyzer
        public static List <MapLocation> YearMapLocations(FactDate when, int limit)
        {
            List <MapLocation> result = new List <MapLocation>();

            foreach (Individual ind in FamilyTree.Instance.AllIndividuals)
            {
                if (ind.IsAlive(when) && ind.GetMaxAge(when) < FactDate.MAXYEARS)
                {
                    Fact         fact = ind.BestLocationFact(when, limit);
                    FactLocation loc  = fact.Location;
                    if (loc.IsGeoCoded(false))
                    {
                        result.Add(new MapLocation(ind, fact, when));
                    }
                    else
                    {
                        int startlevel = loc.Level - 1;
                        for (int level = startlevel; level > FactLocation.UNKNOWN; level--)
                        {
                            loc = loc.GetLocation(level);
                            if (loc.IsGeoCoded(false))
                            {
                                result.Add(new MapLocation(ind, fact, loc, when));
                                break;
                            }
                        }
                    }
                }
            }
            return(result);
        }
コード例 #7
0
        public static Predicate <T> IncompleteDataFilter <T>(int level, Predicate <T> certificatePresent,
                                                             Func <T, FactDate> filterDate, Func <FactDate, T, FactLocation> filterLocation)
        {
            return(t =>
            {
                if (certificatePresent(t))
                {
                    return false;
                }
                FactDate fd = filterDate(t);
                if (fd is null || !fd.IsExact)
                {
                    return true;
                }
                FactLocation l = filterLocation(fd, t);
                switch (level)
                {
                case FactLocation.COUNTRY: return (l.Country.Length == 0);

                case FactLocation.REGION: return (l.Region.Length == 0);

                case FactLocation.SUBREGION: return (l.SubRegion.Length == 0);

                case FactLocation.ADDRESS: return (l.Address.Length == 0);

                case FactLocation.PLACE: return (l.Place.Length == 0);

                default: return true;
                }
            });
        }
コード例 #8
0
        private static FactDate MoreBetweens()
        {
            FactDate target = new FactDate("BTW 1914-1918");

            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("FROM 1915");
            Assert.AreEqual(new DateTime(1915, 1, 1), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("TO 1915");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1915, 12, 31), target.EndDate);

            target = new FactDate("FROM 1914 TO 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("APR 1914-APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 30), target.EndDate);

            target = new FactDate("9-17 JUL 1824");
            Assert.AreEqual(new DateTime(1824, 7, 9), target.StartDate);
            Assert.AreEqual(new DateTime(1824, 7, 17), target.EndDate);

            target = new FactDate("10 APR 1914 - 15 APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 15), target.EndDate);

            target = new FactDate("10 APR 1914-15 APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 15), target.EndDate);

            target = new FactDate("10 APR-15 JUL 1918");
            Assert.AreEqual(new DateTime(1918, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 7, 15), target.EndDate);

            target = new FactDate("APR 1914 - APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 30), target.EndDate);

            target = new FactDate("1914 - 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("bet 1900 - 1910");
            Assert.AreEqual(new DateTime(1900, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1910, 12, 31), target.EndDate);

            target = new FactDate("1914 to 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("1914 until 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);
            return(target);
        }
コード例 #9
0
ファイル: FactDateTest.cs プロジェクト: jthigh/FTAnalyzer
        public void FactDateBasicTest()
        {
            FactDate target = BasicDates();

            target = AlternateDateFormats();

            target = new FactDate(null);
            Assert.AreEqual(target, UNKNOWN_DATE);

            target = new FactDate("");
            Assert.AreEqual(target, UNKNOWN_DATE);

            target = new FactDate("C1914");
            Assert.AreEqual(new DateTime(1913, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1914, 12, 31), target.EndDate);

            target = new FactDate("ABT 966");
            Assert.AreEqual(new DateTime(965, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            target = new FactDate("966");
            Assert.AreEqual(new DateTime(966, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            // interpreted dates
            target = new FactDate("INT 4 OCT 1723 4DA 8MNTH 1723");
            Assert.AreEqual(new DateTime(1723, 10, 4), target.StartDate);
            Assert.AreEqual(new DateTime(1723, 10, 4), target.EndDate);
        }
コード例 #10
0
        private void ScottishCensusTest(string reference, FactDate year, string parish, string ED, string page)
        {
            CensusReference censusRef = new CensusReference("I1", reference, false);

            Assert.IsTrue(censusRef.CensusYear.Equals(year));
            Assert.IsTrue(censusRef.Parish.Equals(parish));
            Assert.IsTrue(censusRef.ED.Equals(ED));
            Assert.IsTrue(censusRef.Page.Equals(page));
        }
コード例 #11
0
        private void USCensusTest(string reference, FactDate year, string roll, string ED, string page)
        {
            CensusReference censusRef = new CensusReference("I1", reference, false);

            Assert.IsTrue(censusRef.CensusYear.Equals(year));
            Assert.IsTrue(censusRef.Roll.Equals(roll));
            Assert.IsTrue(censusRef.ED.Equals(ED));
            Assert.IsTrue(censusRef.Page.Equals(page));
        }
コード例 #12
0
        private void CanadianCensus(string reference, FactDate year, string Roll, string page, string family)
        {
            CensusReference censusRef = new CensusReference("I1", reference, false);

            Assert.IsTrue(censusRef.CensusYear.Equals(year));
            Assert.IsTrue(censusRef.Roll.Equals(Roll));
            Assert.IsTrue(censusRef.Page.Equals(page));
            Assert.IsTrue(censusRef.Family.Equals(family));
        }
コード例 #13
0
        public void InvalidGEDCOMFormats()
        {
            CustomSettings test = new CustomSettings();

            test.ClearNonGEDCOMDateSettings();
            FactDate target;

            // invalid GEDCOM format dates
            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.DD_MM_YYYY, "dd/mm/yyyy", "/");
            target = new FactDate("5/6/2018");
            Assert.AreEqual(new DateTime(2018, 6, 5), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 6, 5), target.EndDate);

            target = new FactDate("BET 5/6/2018 AND 7/6/2018");
            Assert.AreEqual(new DateTime(2018, 6, 5), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 6, 7), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.MM_DD_YYYY, "mm/dd/yyyy", "/");
            target = new FactDate("5/6/2018");
            Assert.AreEqual(new DateTime(2018, 5, 6), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 5, 6), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.DD_MM_YYYY, "dd/mm/yyyy", ".");
            target = new FactDate("5.6.2018");
            Assert.AreEqual(new DateTime(2018, 6, 5), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 6, 5), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.MM_DD_YYYY, "mm/dd/yyyy", ".");
            target = new FactDate("5.6.2018");
            Assert.AreEqual(new DateTime(2018, 5, 6), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 5, 6), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.DD_MM_YYYY, "dd/mm/yyyy", "-");
            target = new FactDate("5-6-2018");
            Assert.AreEqual(new DateTime(2018, 6, 5), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 6, 5), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.MM_DD_YYYY, "mm/dd/yyyy", "-");
            target = new FactDate("5-6-2018");
            Assert.AreEqual(new DateTime(2018, 5, 6), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 5, 6), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.DD_MM_YYYY, "dd/mm/yyyy", " ");
            target = new FactDate("5 6 2018");
            Assert.AreEqual(new DateTime(2018, 6, 5), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 6, 5), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.MM_DD_YYYY, "mm/dd/yyyy", " ");
            target = new FactDate("5 6 2018");
            Assert.AreEqual(new DateTime(2018, 5, 6), target.StartDate);
            Assert.AreEqual(new DateTime(2018, 5, 6), target.EndDate);

            test.SetNonGEDCOMDateSettings(NonGEDCOMFormatSelected.DD_MM_YYYY, "dd/mm/yyyy", "/");
            target = new FactDate("AFT 4/6/2018");
            Assert.AreEqual(new DateTime(2018, 6, 5), target.StartDate);
            Assert.AreEqual(MAXDATE, target.EndDate);
        }
コード例 #14
0
ファイル: MapLocation.cs プロジェクト: jeason0813/FTAnalyzer
 public MapLocation(Individual ind, Fact fact, FactLocation loc, FactDate year)
 {
     this.Individual    = ind;
     this.Fact          = fact;
     this.Location      = loc;
     this.year          = year;
     this.Icon          = FactLocationImage.ErrorIcon(loc.GeocodeStatus).Icon;
     this.Geometry      = new NetTopologySuite.Geometries.Point(Location.LongitudeM, Location.LatitudeM);
     this.FoundLocation = loc.FoundLocation;
 }
コード例 #15
0
        static void CanadianCensus(string reference, FactDate year, string ED, string SD, string page, string family)
        {
            CensusReference censusRef = new CensusReference("I1", reference, false);

            Assert.IsTrue(censusRef.CensusYear.Equals(year));
            Assert.IsTrue(censusRef.ED.Equals(ED));
            Assert.IsTrue(censusRef.SD.Equals(SD));
            Assert.IsTrue(censusRef.Page.Equals(page));
            Assert.IsTrue(censusRef.Family.Equals(family));
        }
コード例 #16
0
        private static FactDate AlternateDateFormats()
        {
            FactDate target = DoubleDates();

            // test some alternative date formats
            target = new FactDate("Q3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("3Q 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("ABT Q3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("ABT QTR3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("ABT QTR 3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("SEP QTR 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("JAN FEB MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("JAN / FEB / MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("JAN/FEB/MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("BET JAN-MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("JAN-MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("Q1 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);
            return(target);
        }
コード例 #17
0
        public void FactDateLanguageTest()
        {
            // French Dates
            FactDate target = new FactDate("4 janvier 1880");

            Assert.AreEqual(new DateTime(1880, 1, 4), target.StartDate);
            Assert.AreEqual(new DateTime(1880, 1, 4), target.EndDate);

            target = new FactDate("4 MAI 1880");
            Assert.AreEqual(new DateTime(1880, 5, 4), target.StartDate);
            Assert.AreEqual(new DateTime(1880, 5, 4), target.EndDate);
        }
コード例 #18
0
ファイル: ColourBMD.cs プロジェクト: ennoborg/FTAnalyzer
 void DgReportSheet_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         FamilyTree ft = FamilyTree.Instance;
         if (e.ColumnIndex >= birthColumnIndex && e.ColumnIndex <= burialColumnIndex)
         {
             DataGridViewCell cell  = dgBMDReportSheet.Rows[e.RowIndex].Cells[e.ColumnIndex];
             BMDColours       value = (BMDColours)cell.Value;
             if (value != BMDColours.EXACT_DATE)
             {
                 IDisplayColourBMD person = (IDisplayColourBMD)dgBMDReportSheet.Rows[e.RowIndex].DataBoundItem;
                 Individual        ind    = ft.GetIndividual(person.IndividualID);
                 if (e.ColumnIndex == birthColumnIndex || e.ColumnIndex == birthColumnIndex + 1)
                 {
                     ft.SearchBMD(FamilyTree.SearchType.BIRTH, ind, ind.BirthDate, cbBMDSearchProvider.SelectedIndex, cbRegion.Text, null);
                 }
                 else if (e.ColumnIndex >= birthColumnIndex + 2 && e.ColumnIndex <= birthColumnIndex + 4)
                 {
                     FactDate   marriageDate = FactDate.UNKNOWN_DATE;
                     Individual spouse       = null;
                     if (e.ColumnIndex == birthColumnIndex + 2)
                     {
                         marriageDate = ind.FirstMarriageDate;
                         spouse       = ind.FirstSpouse;
                     }
                     if (e.ColumnIndex == birthColumnIndex + 3)
                     {
                         marriageDate = ind.SecondMarriageDate;
                         spouse       = ind.SecondSpouse;
                     }
                     if (e.ColumnIndex == birthColumnIndex + 4)
                     {
                         marriageDate = ind.ThirdMarriageDate;
                         spouse       = ind.ThirdSpouse;
                     }
                     ft.SearchBMD(FamilyTree.SearchType.MARRIAGE, ind, marriageDate, cbBMDSearchProvider.SelectedIndex, cbRegion.Text, spouse);
                 }
                 else if (e.ColumnIndex == burialColumnIndex || e.ColumnIndex == burialColumnIndex - 1)
                 {
                     ft.SearchBMD(FamilyTree.SearchType.DEATH, ind, ind.DeathDate, cbBMDSearchProvider.SelectedIndex, cbRegion.Text, null);
                 }
             }
         }
         else if (e.ColumnIndex >= 0)
         {
             string     indID    = (string)dgBMDReportSheet.CurrentRow.Cells["IndividualID"].Value;
             Individual ind      = ft.GetIndividual(indID);
             Facts      factForm = new Facts(ind);
             factForm.Show();
         }
     }
 }
コード例 #19
0
        private void CensusHO107Test(string reference, FactDate year, string piece, string book, string folio, string page)
        {
            CensusReference censusRef = new CensusReference("I1", reference, false);

            Assert.IsTrue(censusRef.CensusYear.Equals(year));
            Assert.IsTrue(censusRef.Piece.Equals(piece));
            Assert.IsTrue(censusRef.Folio.Equals(folio));
            Assert.IsTrue(censusRef.Page.Equals(page));
            if (!book.Equals(string.Empty))
            {
                Assert.IsTrue(censusRef.Book.Equals(book));
            }
        }
コード例 #20
0
        public void SpecialDates()
        {
            FactDate target = new FactDate("ABT @#DJULIAN@ 1567");

            Assert.AreEqual(new DateTime(1566, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1567, 12, 31), target.EndDate);

            target = new FactDate("605 BC");
            Assert.AreEqual(target, UNKNOWN_DATE);

            target = new FactDate("605 B.C.");
            Assert.AreEqual(target, UNKNOWN_DATE);
        }
コード例 #21
0
ファイル: AgeTest.cs プロジェクト: ennoborg/FTAnalyzer
        public void AgeStringConstructor()
        {
            FactDate baseDate = new FactDate("19 Nov 1988");
            Age      age      = new Age("22y", baseDate);

            Assert.AreEqual(age.GetBirthDate(baseDate), new FactDate("19 Nov 1966"));

            age = new Age("22y 2m", baseDate);
            Assert.AreEqual(age.GetBirthDate(baseDate), new FactDate("19 Sep 1966"));

            age = new Age("22y 2m 5d", baseDate);
            Assert.AreEqual(age.GetBirthDate(baseDate), new FactDate("14 Sep 1966"));
        }
コード例 #22
0
        public void FactDatePhraseTest()
        {
            FactDate target = new FactDate("INT 17 APR 1917 (Easter Sunday 1917)");

            Assert.AreEqual(new DateTime(1917, 4, 17), target.StartDate);
            Assert.AreEqual(new DateTime(1917, 4, 17), target.EndDate);

            target = new FactDate("(1881 Census)");
            Assert.AreEqual(new DateTime(1881, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1881, 12, 31), target.EndDate);

            //target = new FactDate("(Easter Sunday 1917)");
            //Assert.AreEqual(UNKNOWN_DATE, target.StartDate);
            //Assert.AreEqual(UNKNOWN_DATE, target.EndDate);
        }
コード例 #23
0
        public void SetupAliveAtDate(FactDate aliveAtDate, Predicate <Individual> filter)
        {
            Text = $"Individuals alive {aliveAtDate}";
            var result = new SortableBindingList <IDisplayIndividual>();
            IEnumerable <Individual> list = ft.AllIndividuals.Filter(filter);

            foreach (Individual i in list)
            {
                result.Add(i);
            }
            dgIndividuals.DataSource = result;
            SortIndividuals();
            splitContainer.Panel1Collapsed = false;
            splitContainer.Panel2Collapsed = true;
            UpdateStatusCount();
        }
コード例 #24
0
        public void FactDateBasicTest()
        {
            FactDate target = BasicDates();

            target = AlternateDateFormats();

            target = new FactDate(null);
            Assert.AreEqual(target, UNKNOWN_DATE);

            target = new FactDate("");
            Assert.AreEqual(target, UNKNOWN_DATE);

            target = new FactDate("C1914");
            Assert.AreEqual(new DateTime(1913, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1914, 12, 31), target.EndDate);

            target = new FactDate("ABT 966");
            Assert.AreEqual(new DateTime(965, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            target = new FactDate("ABT1872");
            Assert.AreEqual(new DateTime(1871, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1872, 12, 31), target.EndDate);

            target = new FactDate("966");
            Assert.AreEqual(new DateTime(966, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            target = new FactDate("BET 2 JAN AND 2 DEC 1743");
            Assert.AreEqual(new DateTime(1743, 1, 2), target.StartDate);
            Assert.AreEqual(new DateTime(1743, 12, 2), target.EndDate);

            // interpreted dates
            target = new FactDate("INT 4 OCT 1723 4DA 8MNTH 1723");
            Assert.AreEqual(new DateTime(1723, 10, 4), target.StartDate);
            Assert.AreEqual(new DateTime(1723, 10, 4), target.EndDate);

            // 29th Feb
            try
            {
                target = new FactDate("29 FEB 1735");
                Assert.Fail(); // if we get here the date was seen as valid so that's wrong
            }
            catch (FactDateException) { }  // we expect this so no test failure
            catch (Exception) { Assert.Fail(); } // if we get some other sort of failure test failed
        }
コード例 #25
0
        static FactDate DoubleDates()
        {
            // Double dates
            FactDate target = new FactDate("11 Mar 1747/48");

            Assert.AreEqual(new DateTime(1748, 3, 11), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 11), target.EndDate);

            target = new FactDate("Mar 1747/48");
            Assert.AreEqual(new DateTime(1748, 3, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 31), target.EndDate);

            target = new FactDate("1747/48");
            Assert.AreEqual(new DateTime(1748, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 12, 31), target.EndDate);

            target = new FactDate("11 Mar 1747/1748");
            Assert.AreEqual(new DateTime(1748, 3, 11), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 11), target.EndDate);

            target = new FactDate("15 FEB 1599/00");
            Assert.AreEqual(new DateTime(1600, 2, 15), target.StartDate);
            Assert.AreEqual(new DateTime(1600, 2, 15), target.EndDate);

            target = new FactDate("1 MAR 922/23");
            Assert.AreEqual(new DateTime(923, 3, 1), target.StartDate);
            Assert.AreEqual(new DateTime(923, 3, 1), target.EndDate);

            target = new FactDate("1 MAR 922/923");
            Assert.AreEqual(new DateTime(923, 3, 1), target.StartDate);
            Assert.AreEqual(new DateTime(923, 3, 1), target.EndDate);

            target = new FactDate("29 Feb 1703/1704");
            Assert.AreEqual(new DateTime(1704, 2, 29), target.StartDate);
            Assert.AreEqual(new DateTime(1704, 2, 29), target.EndDate);


            target = new FactDate("Bef 29 Feb 1611/12");
            Assert.AreEqual(MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1612, 2, 28), target.EndDate);

            return(target);
        }
コード例 #26
0
        private static FactDate Betweens()
        {
            // Betweens
            FactDate target = new FactDate("BET 1983 AND 1986");

            Assert.AreEqual(new DateTime(1983, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 12, 31), target.EndDate);

            target = new FactDate("BET SEP 1983 AND 1986");
            Assert.AreEqual(new DateTime(1983, 9, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 12, 31), target.EndDate);

            target = new FactDate("BET 28 SEP 1983 AND 1986");
            Assert.AreEqual(new DateTime(1983, 9, 28), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 12, 31), target.EndDate);

            target = new FactDate("BET 1983 AND JUN 1986");
            Assert.AreEqual(new DateTime(1983, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 30), target.EndDate);

            target = new FactDate("BET SEP 1983 AND JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 30), target.EndDate);

            target = new FactDate("BET 28 SEP 1983 AND JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 28), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 30), target.EndDate);

            target = new FactDate("BET 1983 AND 10 JUN 1986");
            Assert.AreEqual(new DateTime(1983, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 10), target.EndDate);

            target = new FactDate("BET SEP 1983 AND 10 JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 10), target.EndDate);

            target = new FactDate("BET 28 SEP 1983 AND 10 JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 28), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 10), target.EndDate);
            return(target);
        }
コード例 #27
0
 void ScoreDates(FactDate dateA, FactDate dateB)
 {
     if (dateA.IsKnown && dateB.IsKnown)
     {
         double distance = dateA.Distance(dateB);
         if (dateA.Equals(dateB))
         {
             Score += 50;
         }
         else if (distance <= .25)
         {
             Score += 50;
         }
         else if (distance <= .5)
         {
             Score += 20;
         }
         else if (distance <= 1)
         {
             Score += 10;
         }
         else if (distance <= 2)
         {
             Score += 5;
         }
         else if (distance > 5 && distance < 20)
         {
             Score -= (int)(distance * distance);
         }
         else
         {
             Score = -10000;  // distance is too big so set score to large negative
         }
         if (dateA.IsExact && dateB.IsExact)
         {
             Score += 100;
         }
     }
 }
コード例 #28
0
        public void FactDateConstructorTest()
        {
            FactDate target = new FactDate("1966");

            Assert.AreEqual(new DateTime(1966, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 12, 31), target.EndDate);

            target = new FactDate("19 Nov");
            Assert.AreEqual(new DateTime(1, 11, 19), target.StartDate);
            Assert.AreEqual(new DateTime(9999, 11, 19), target.EndDate);

            target = new FactDate("Nov 1966");
            Assert.AreEqual(new DateTime(1966, 11, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 30), target.EndDate);

            target = new FactDate("19 Nov 1966");
            Assert.AreEqual(new DateTime(1966, 11, 19), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 19), target.EndDate);

            target = new FactDate("ABT 1966");
            Assert.AreEqual(new DateTime(1965, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 12, 31), target.EndDate);

            target = new FactDate("About        1615");
            Assert.AreEqual(new DateTime(1614, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1615, 12, 31), target.EndDate);

            target = new FactDate("ABT NOV 1966");
            Assert.AreEqual(new DateTime(1966, 10, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 30), target.EndDate);

            target = new FactDate("ABT MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("ABT 19 NOV 1966");
            Assert.AreEqual(new DateTime(1966, 11, 18), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 19), target.EndDate);

            target = new FactDate("UNKNOWN");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("BEF 1966");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1965, 12, 31), target.EndDate);

            target = new FactDate("BEF NOV 1966");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1966, 10, 31), target.EndDate);

            target = new FactDate("BEF 19 Nov 1966");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 18), target.EndDate);

            target = new FactDate("AFT 1966");
            Assert.AreEqual(new DateTime(1967, 1, 1), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("AFT Nov 1966");
            Assert.AreEqual(new DateTime(1966, 12, 01), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("AFT 19 Nov 1966");
            Assert.AreEqual(new DateTime(1966, 11, 20), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            // Betweens
            target = new FactDate("BET 1983 AND 1986");
            Assert.AreEqual(new DateTime(1983, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 12, 31), target.EndDate);

            target = new FactDate("BET SEP 1983 AND 1986");
            Assert.AreEqual(new DateTime(1983, 9, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 12, 31), target.EndDate);

            target = new FactDate("BET 28 SEP 1983 AND 1986");
            Assert.AreEqual(new DateTime(1983, 9, 28), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 12, 31), target.EndDate);

            target = new FactDate("BET 1983 AND JUN 1986");
            Assert.AreEqual(new DateTime(1983, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 30), target.EndDate);

            target = new FactDate("BET SEP 1983 AND JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 30), target.EndDate);

            target = new FactDate("BET 28 SEP 1983 AND JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 28), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 30), target.EndDate);

            target = new FactDate("BET 1983 AND 10 JUN 1986");
            Assert.AreEqual(new DateTime(1983, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 10), target.EndDate);

            target = new FactDate("BET SEP 1983 AND 10 JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 10), target.EndDate);

            target = new FactDate("BET 28 SEP 1983 AND 10 JUN 1986");
            Assert.AreEqual(new DateTime(1983, 9, 28), target.StartDate);
            Assert.AreEqual(new DateTime(1986, 6, 10), target.EndDate);

            // Double dates
            target = new FactDate("11 Mar 1747/48");
            Assert.AreEqual(new DateTime(1748, 3, 11), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 11), target.EndDate);

            target = new FactDate("Mar 1747/48");
            Assert.AreEqual(new DateTime(1748, 3, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 31), target.EndDate);

            target = new FactDate("1747/48");
            Assert.AreEqual(new DateTime(1748, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 12, 31), target.EndDate);

            target = new FactDate("11 Mar 1747/1748");
            Assert.AreEqual(new DateTime(1748, 3, 11), target.StartDate);
            Assert.AreEqual(new DateTime(1748, 3, 11), target.EndDate);

            target = new FactDate("15 FEB 1599/00");
            Assert.AreEqual(new DateTime(1600, 2, 15), target.StartDate);
            Assert.AreEqual(new DateTime(1600, 2, 15), target.EndDate);

            // test some alternative date formats
            target = new FactDate("Q3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("3Q 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("ABT Q3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("ABT QTR3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("ABT QTR 3 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("SEP QTR 1947");
            Assert.AreEqual(new DateTime(1947, 6, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1947, 9, 30), target.EndDate);

            target = new FactDate("JAN FEB MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("JAN / FEB / MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("JAN/FEB/MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("BET JAN-MAR 1966");
            Assert.AreEqual(new DateTime(1966, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("BTW 1914-1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("FROM 1915");
            Assert.AreEqual(new DateTime(1915, 1, 1), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("TO 1915");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1915, 12, 31), target.EndDate);

            target = new FactDate("FROM 1914 TO 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("APR 1914-APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 30), target.EndDate);

            target = new FactDate("9-17 JUL 1824");
            Assert.AreEqual(new DateTime(1824, 7, 9), target.StartDate);
            Assert.AreEqual(new DateTime(1824, 7, 17), target.EndDate);

            target = new FactDate("10 APR 1914 - 15 APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 15), target.EndDate);

            target = new FactDate("10 APR 1914-15 APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 15), target.EndDate);

            target = new FactDate("10 APR-15 JUL 1918");
            Assert.AreEqual(new DateTime(1918, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 7, 15), target.EndDate);

            target = new FactDate("APR 1914 - APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 30), target.EndDate);

            target = new FactDate("1914 - 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("bet 1900 - 1910");
            Assert.AreEqual(new DateTime(1900, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1910, 12, 31), target.EndDate);

            target = new FactDate("1914 to 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("1914 until 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("C1914");
            Assert.AreEqual(new DateTime(1913, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1914, 12, 31), target.EndDate);

            target = new FactDate("ABT 966");
            Assert.AreEqual(new DateTime(965, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            target = new FactDate("966");
            Assert.AreEqual(new DateTime(966, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(966, 12, 31), target.EndDate);

            // interpreted dates
            target = new FactDate("INT 4 OCT 1723 4DA 8MNTH 1723");
            Assert.AreEqual(new DateTime(1723, 10, 4), target.StartDate);
            Assert.AreEqual(new DateTime(1723, 10, 4), target.EndDate);
        }
コード例 #29
0
        private static FactDate BasicDates()
        {
            FactDate target = new FactDate("1966");

            Assert.AreEqual(new DateTime(1966, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 12, 31), target.EndDate);

            target = new FactDate("19 Nov");
            Assert.AreEqual(new DateTime(1, 11, 19), target.StartDate);
            Assert.AreEqual(new DateTime(9999, 11, 19), target.EndDate);

            target = new FactDate("Nov 1966");
            Assert.AreEqual(new DateTime(1966, 11, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 30), target.EndDate);

            target = new FactDate("19 Nov 1966");
            Assert.AreEqual(new DateTime(1966, 11, 19), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 19), target.EndDate);

            target = new FactDate("ABT 1966");
            Assert.AreEqual(new DateTime(1965, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 12, 31), target.EndDate);

            target = new FactDate("About        1615");
            Assert.AreEqual(new DateTime(1614, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1615, 12, 31), target.EndDate);

            target = new FactDate("ABT NOV 1966");
            Assert.AreEqual(new DateTime(1966, 10, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 30), target.EndDate);

            target = new FactDate("ABT MAR 1966");
            Assert.AreEqual(new DateTime(1965, 12, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 3, 31), target.EndDate);

            target = new FactDate("ABT 19 NOV 1966");
            Assert.AreEqual(new DateTime(1966, 11, 18), target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 19), target.EndDate);

            target = new FactDate("UNKNOWN");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("BEF 1966");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1965, 12, 31), target.EndDate);

            target = new FactDate("BEF NOV 1966");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1966, 10, 31), target.EndDate);

            target = new FactDate("BEF 19 Nov 1966");
            Assert.AreEqual(FactDate.MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1966, 11, 18), target.EndDate);

            target = new FactDate("AFT 1966");
            Assert.AreEqual(new DateTime(1967, 1, 1), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("AFT Nov 1966");
            Assert.AreEqual(new DateTime(1966, 12, 01), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("AFT 19 Nov 1966");
            Assert.AreEqual(new DateTime(1966, 11, 20), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);

            target = new FactDate("AFT 19Ÿ©Nov 1966");
            Assert.AreEqual(new DateTime(1966, 11, 20), target.StartDate);
            Assert.AreEqual(FactDate.MAXDATE, target.EndDate);
            return(target);
        }
コード例 #30
0
        private static FactDate MoreBetweens()
        {
            FactDate target = new FactDate("BTW 1914-1918");

            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("FROM 1915");
            Assert.AreEqual(new DateTime(1915, 1, 1), target.StartDate);
            Assert.AreEqual(MAXDATE, target.EndDate);

            target = new FactDate("TO 1915");
            Assert.AreEqual(MINDATE, target.StartDate);
            Assert.AreEqual(new DateTime(1915, 12, 31), target.EndDate);

            target = new FactDate("FROM 1914 TO 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("APR 1914-APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 30), target.EndDate);

            target = new FactDate("9-17 JUL 1824");
            Assert.AreEqual(new DateTime(1824, 7, 9), target.StartDate);
            Assert.AreEqual(new DateTime(1824, 7, 17), target.EndDate);

            target = new FactDate("10 APR 1914 - 15 APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 15), target.EndDate);

            target = new FactDate("10 APR 1914-15 APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 15), target.EndDate);

            target = new FactDate("10 APR-15 JUL 1918");
            Assert.AreEqual(new DateTime(1918, 4, 10), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 7, 15), target.EndDate);

            target = new FactDate("APR 1914 - APR 1918");
            Assert.AreEqual(new DateTime(1914, 4, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 4, 30), target.EndDate);

            target = new FactDate("1914 - 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("Bet. 1914-1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("bet 1900 - 1910");
            Assert.AreEqual(new DateTime(1900, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1910, 12, 31), target.EndDate);

            target = new FactDate("1914 to 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("1914 until 1918");
            Assert.AreEqual(new DateTime(1914, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1918, 12, 31), target.EndDate);

            target = new FactDate("Bet. 3 JAN 2001 AND 4 JAN 2001");
            Assert.AreEqual(new DateTime(2001, 1, 3), target.StartDate);
            Assert.AreEqual(new DateTime(2001, 1, 4), target.EndDate);

            target = new FactDate("BET 3 AND 4 JAN 2001");
            Assert.AreEqual(new DateTime(2001, 1, 3), target.StartDate);
            Assert.AreEqual(new DateTime(2001, 1, 4), target.EndDate);

            target = new FactDate("BET 9 AND 10 JAN 2001");
            Assert.AreEqual(new DateTime(2001, 1, 9), target.StartDate);
            Assert.AreEqual(new DateTime(2001, 1, 10), target.EndDate);

            target = new FactDate("BET 11 AND 12 JAN 2001");
            Assert.AreEqual(new DateTime(2001, 1, 11), target.StartDate);
            Assert.AreEqual(new DateTime(2001, 1, 12), target.EndDate);

            target = new FactDate("BET 997 AND 6 OCT 1014");
            Assert.AreEqual(new DateTime(997, 1, 1), target.StartDate);
            Assert.AreEqual(new DateTime(1014, 10, 6), target.EndDate);

            return(target);
        }