public void UnionTest()
        {
            //And (union)
            TemporalExpression te;
            te = new TEYear(2010) & new TEWeekDay(DayOfWeek.Sunday);

            Assert.IsTrue(te.Includes(new DateTime(2010,6,13)));
            Assert.IsTrue(te.Includes(new DateTime(2010, 6, 20)));
            Assert.IsTrue(te.Includes(new DateTime(2010, 6, 27)));
            Assert.IsTrue(te.Includes(new DateTime(2010, 7, 18)));
            Assert.IsTrue(te.Includes(new DateTime(2010, 5, 23)));

            Assert.IsFalse(te.Includes(new DateTime(2010, 6, 14)));
            Assert.IsFalse(te.Includes(new DateTime(2010, 6, 15)));
            Assert.IsFalse(te.Includes(new DateTime(2010, 7, 19)));
            Assert.IsFalse(te.Includes(new DateTime(2011, 6, 14)));
        }
        public void TE_Year()
        {
            //single year
            TEYear tey = new TEYear(2010);
            Assert.IsTrue(tey.Includes(new DateTime(2010, 6, 2)));
            Assert.IsTrue(tey.Includes(new DateTime(2010, 8, 2)));
            Assert.IsTrue(tey.Includes(new DateTime(2010, 9, 5)));

            Assert.IsFalse(tey.Includes(new DateTime(2011, 6, 2)));
            Assert.IsFalse(tey.Includes(new DateTime(2012, 8, 2)));
            Assert.IsFalse(tey.Includes(new DateTime(1998, 9, 5)));

            //range
            TEYear teyr = new TEYear(2000, 2005);
            Assert.IsTrue(teyr.Includes(new DateTime(2005, 6, 2)));
            Assert.IsTrue(teyr.Includes(new DateTime(2003, 8, 2)));
            Assert.IsTrue(teyr.Includes(new DateTime(2000, 9, 5)));

            Assert.IsFalse(teyr.Includes(new DateTime(2011, 6, 2)));
            Assert.IsFalse(teyr.Includes(new DateTime(2012, 8, 2)));
            Assert.IsFalse(teyr.Includes(new DateTime(1998, 9, 5)));
        }