Exemplo n.º 1
0
        public void DataTypes_DateHelpers_dateOfLastDay_Friday_last_week()
        {
            var day  = DayOfWeek.Friday;
            var date = new System.DateTime(2017, 9, 28);

            Assert.IsTrue(TimexDateHelpers.DatePartEquals(TimexDateHelpers.DateOfLastDay(day, date), new System.DateTime(2017, 9, 22)));
        }
Exemplo n.º 2
0
 public void DataTypes_DateHelpers_tomorrow()
 {
     Assert.AreEqual(new System.DateTime(2017, 1, 1), TimexDateHelpers.Tomorrow(new System.DateTime(2016, 12, 31)));
     Assert.AreEqual(new System.DateTime(2017, 1, 2), TimexDateHelpers.Tomorrow(new System.DateTime(2017, 1, 1)));
     Assert.AreEqual(new System.DateTime(2017, 3, 1), TimexDateHelpers.Tomorrow(new System.DateTime(2017, 2, 28)));
     Assert.AreEqual(new System.DateTime(2016, 2, 29), TimexDateHelpers.Tomorrow(new System.DateTime(2016, 2, 28)));
 }
Exemplo n.º 3
0
 public void DataTypes_DateHelpers_yesterday()
 {
     Assert.AreEqual(new System.DateTime(2016, 12, 31), TimexDateHelpers.Yesterday(new System.DateTime(2017, 1, 1)));
     Assert.AreEqual(new System.DateTime(2017, 1, 1), TimexDateHelpers.Yesterday(new System.DateTime(2017, 1, 2)));
     Assert.AreEqual(new System.DateTime(2017, 2, 28), TimexDateHelpers.Yesterday(new System.DateTime(2017, 3, 1)));
     Assert.AreEqual(new System.DateTime(2016, 2, 28), TimexDateHelpers.Yesterday(new System.DateTime(2016, 2, 29)));
 }
Exemplo n.º 4
0
        public void DataTypes_DateHelpers_dateOfNextDay_today()
        {
            var day  = DayOfWeek.Thursday;
            var date = new System.DateTime(2017, 9, 28);

            Assert.IsFalse(TimexDateHelpers.DatePartEquals(TimexDateHelpers.DateOfNextDay(day, date), date));
        }
        public static DateTime GetDateTime(this string timex)
        {
            var timexProperty = new TimexProperty(timex);
            var today         = DateTime.Today;

            var year   = timexProperty.Year ?? today.Year;
            var month  = timexProperty.Month ?? today.Month;
            var day    = timexProperty.DayOfMonth ?? today.Day;
            var hour   = timexProperty.Hour ?? 0;
            var minute = timexProperty.Minute ?? 0;

            DateTime result;

            if (timexProperty.DayOfWeek.HasValue)
            {
                result = TimexDateHelpers.DateOfNextDay((DayOfWeek)timexProperty.DayOfWeek.Value, today);
                result = result.AddHours(hour);
                result = result.AddMinutes(minute);
            }
            else
            {
                result = new DateTime(year, month, day, hour, minute, 0);
                if (result < today)
                {
                    result = result.AddYears(1);
                }
            }

            return(result);
        }
Exemplo n.º 6
0
        public void DataTypes_DateHelpers_dateOfNextDay_Wednesday_next_week()
        {
            var day  = DayOfWeek.Wednesday;
            var date = new System.DateTime(2017, 9, 28);

            Assert.IsTrue(TimexDateHelpers.DatePartEquals(TimexDateHelpers.DateOfNextDay(day, date), new System.DateTime(2017, 10, 4)));
        }
Exemplo n.º 7
0
        public void DataTypes_DateHelpers_isLastWeek()
        {
            var today = new System.DateTime(2017, 9, 25);

            Assert.IsTrue(TimexDateHelpers.IsLastWeek(new System.DateTime(2017, 9, 20), today));
            Assert.IsFalse(TimexDateHelpers.IsLastWeek(new System.DateTime(2017, 9, 4), today));
            Assert.IsFalse(TimexDateHelpers.IsLastWeek(today, today));
        }
Exemplo n.º 8
0
        public static string DateValue(TimexProperty timexProperty)
        {
            if (timexProperty.Year != null && timexProperty.Month != null && timexProperty.DayOfMonth != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timexProperty.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timexProperty.Month, 2)}-{TimexDateHelpers.FixedFormatNumber(timexProperty.DayOfMonth, 2)}");
            }

            return(string.Empty);
        }
Exemplo n.º 9
0
        public static string TimeValue(TimexProperty timexProperty)
        {
            if (timexProperty.Hour != null && timexProperty.Minute != null && timexProperty.Second != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timexProperty.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Minute, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Second, 2)}");
            }

            return(string.Empty);
        }
Exemplo n.º 10
0
        public void DataTypes_Creator_nextWeek()
        {
            var start = TimexDateHelpers.DateOfNextDay(DayOfWeek.Monday, System.DateTime.Now);
            var t     = TimexProperty.FromDate(start);

            t.Days = 7;
            var expected = t.TimexValue;

            Assert.AreEqual(expected, TimexCreator.NextWeek());
        }
Exemplo n.º 11
0
 public void DataTypes_DateHelpers_weekOfyear()
 {
     Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 1, 1)));
     Assert.AreEqual(2, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 1, 2)));
     Assert.AreEqual(9, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 2, 23)));
     Assert.AreEqual(12, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 3, 15)));
     Assert.AreEqual(40, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 9, 25)));
     Assert.AreEqual(53, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 12, 31)));
     Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 1)));
     Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 2)));
     Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 7)));
     Assert.AreEqual(2, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 8)));
 }
Exemplo n.º 12
0
        public void DataTypes_DateHelpers_datesMatchingDay()
        {
            var day    = DayOfWeek.Thursday;
            var start  = new System.DateTime(2017, 3, 1);
            var end    = new System.DateTime(2017, 4, 1);
            var result = TimexDateHelpers.DatesMatchingDay(day, start, end);

            Assert.AreEqual(5, result.Count);
            Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[0], new System.DateTime(2017, 3, 2)));
            Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[1], new System.DateTime(2017, 3, 9)));
            Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[2], new System.DateTime(2017, 3, 16)));
            Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[3], new System.DateTime(2017, 3, 23)));
            Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[4], new System.DateTime(2017, 3, 30)));
        }
Exemplo n.º 13
0
        private static string FormatTime(TimexProperty timex)
        {
            if (timex.Minute == 0 && timex.Second == 0)
            {
                return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}");
            }

            if (timex.Second == 0)
            {
                return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Minute, 2)}");
            }

            return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Minute, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Second, 2)}");
        }
Exemplo n.º 14
0
        private static string FormatDateRange(TimexProperty timex)
        {
            if (timex.Year != null && timex.WeekOfYear != null && timex.Weekend != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-W{TimexDateHelpers.FixedFormatNumber(timex.WeekOfYear, 2)}-WE");
            }

            if (timex.Year != null && timex.WeekOfYear != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-W{TimexDateHelpers.FixedFormatNumber(timex.WeekOfYear, 2)}");
            }

            if (timex.Year != null && timex.Season != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{timex.Season}");
            }

            if (timex.Season != null)
            {
                return($"{timex.Season}");
            }

            if (timex.Year != null && timex.Month != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}");
            }

            if (timex.Year != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}");
            }

            if (timex.Month != null && timex.WeekOfMonth != null && timex.DayOfWeek != null)
            {
                return($"XXXX-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-WXX-{timex.WeekOfMonth}-{timex.DayOfWeek}");
            }

            if (timex.Month != null && timex.WeekOfMonth != null)
            {
                return($"XXXX-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-WXX-{timex.WeekOfMonth}");
            }

            if (timex.Month != null)
            {
                return($"XXXX-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}");
            }

            return(string.Empty);
        }
Exemplo n.º 15
0
        public void DataTypes_DateHelpers_invariance()
        {
            var d      = new System.DateTime(2017, 8, 25);
            var before = d;

            TimexDateHelpers.Tomorrow(d);
            TimexDateHelpers.Yesterday(d);
            TimexDateHelpers.DatePartEquals(new System.DateTime(), d);
            TimexDateHelpers.DatePartEquals(d, new System.DateTime());
            TimexDateHelpers.IsNextWeek(d, new System.DateTime());
            TimexDateHelpers.IsNextWeek(new System.DateTime(), d);
            TimexDateHelpers.IsLastWeek(new System.DateTime(), d);
            TimexDateHelpers.WeekOfYear(d);
            var after = d;

            Assert.AreEqual(after, before);
        }
Exemplo n.º 16
0
 public void DataTypes_DateHelpers_datePartEquals()
 {
     Assert.IsTrue(TimexDateHelpers.DatePartEquals(new System.DateTime(2017, 5, 29), new System.DateTime(2017, 5, 29)));
     Assert.IsTrue(TimexDateHelpers.DatePartEquals(new System.DateTime(2017, 5, 29, 19, 30, 0), new System.DateTime(2017, 5, 29)));
     Assert.IsFalse(TimexDateHelpers.DatePartEquals(new System.DateTime(2017, 5, 29), new System.DateTime(2017, 11, 15)));
 }