Example #1
0
        public void ConstructorOffset()
        {
            // Note: offset doesn't take daylight savings into account

            EssentialsWeek week1 = new EssentialsWeek(2019, 12, TimeSpan.Zero);
            EssentialsWeek week2 = new EssentialsWeek(2019, 13, TimeSpan.Zero);
            EssentialsWeek week3 = new EssentialsWeek(2019, 14, TimeSpan.Zero);

            EssentialsWeek week4 = new EssentialsWeek(2019, 12, TimeSpan.FromHours(1));
            EssentialsWeek week5 = new EssentialsWeek(2019, 13, TimeSpan.FromHours(1));
            EssentialsWeek week6 = new EssentialsWeek(2019, 14, TimeSpan.FromHours(1));
            EssentialsWeek week7 = new EssentialsWeek(2019, 14, TimeSpan.FromHours(2));

            Assert.AreEqual(12, week1.Week, "#1");
            Assert.AreEqual(2019, week1.Year, "#1");
            Assert.AreEqual("2019-03-18 00:00:00:000 +00:00", week1.Start.ToString(Format), "#1");
            Assert.AreEqual("2019-03-24 23:59:59:999 +00:00", week1.End.ToString(Format), "#1");

            Assert.AreEqual(13, week2.Week, "#2");
            Assert.AreEqual(2019, week2.Year, "#2");
            Assert.AreEqual("2019-03-25 00:00:00:000 +00:00", week2.Start.ToString(Format), "#2");
            Assert.AreEqual("2019-03-31 23:59:59:999 +00:00", week2.End.ToString(Format), "#2");

            Assert.AreEqual(14, week3.Week, "#3");
            Assert.AreEqual(2019, week3.Year, "#3");
            Assert.AreEqual("2019-04-01 00:00:00:000 +00:00", week3.Start.ToString(Format), "#3");
            Assert.AreEqual("2019-04-07 23:59:59:999 +00:00", week3.End.ToString(Format), "#3");

            Assert.AreEqual(12, week4.Week, "#4");
            Assert.AreEqual(2019, week4.Year, "#4");
            Assert.AreEqual("2019-03-18 00:00:00:000 +01:00", week4.Start.ToString(Format), "#4");
            Assert.AreEqual("2019-03-24 23:59:59:999 +01:00", week4.End.ToString(Format), "#4");

            Assert.AreEqual(13, week5.Week, "#2");
            Assert.AreEqual(2019, week5.Year, "#2");
            Assert.AreEqual("2019-03-25 00:00:00:000 +01:00", week5.Start.ToString(Format), "#5");
            Assert.AreEqual("2019-03-31 23:59:59:999 +01:00", week5.End.ToString(Format), "#5");

            Assert.AreEqual(14, week6.Week, "#6");
            Assert.AreEqual(2019, week6.Year, "#6");
            Assert.AreEqual("2019-04-01 00:00:00:000 +01:00", week6.Start.ToString(Format), "#6");
            Assert.AreEqual("2019-04-07 23:59:59:999 +01:00", week6.End.ToString(Format), "#6");

            Assert.AreEqual(14, week7.Week, "#7");
            Assert.AreEqual(2019, week7.Year, "#7");
            Assert.AreEqual("2019-04-01 00:00:00:000 +02:00", week7.Start.ToString(Format), "#7");
            Assert.AreEqual("2019-04-07 23:59:59:999 +02:00", week7.End.ToString(Format), "#7");
        }
Example #2
0
        public void ConstructorTimeZoneInfo()
        {
            TimeZoneInfo utc     = TimeZoneInfo.FindSystemTimeZoneById("UTC");
            TimeZoneInfo romance = TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time");

            EssentialsWeek week1 = new EssentialsWeek(2019, 12, utc);
            EssentialsWeek week2 = new EssentialsWeek(2019, 13, utc);
            EssentialsWeek week3 = new EssentialsWeek(2019, 14, utc);

            EssentialsWeek week4 = new EssentialsWeek(2019, 12, romance);
            EssentialsWeek week5 = new EssentialsWeek(2019, 13, romance);
            EssentialsWeek week6 = new EssentialsWeek(2019, 14, romance);

            Assert.AreEqual(12, week1.Week, "#1");
            Assert.AreEqual(2019, week1.Year, "#1");
            Assert.AreEqual("2019-03-18 00:00:00:000 +00:00", week1.Start.ToString(Format), "#1");
            Assert.AreEqual("2019-03-24 23:59:59:999 +00:00", week1.End.ToString(Format), "#1");

            Assert.AreEqual(13, week2.Week, "#2");
            Assert.AreEqual(2019, week2.Year, "#2");
            Assert.AreEqual("2019-03-25 00:00:00:000 +00:00", week2.Start.ToString(Format), "#2");
            Assert.AreEqual("2019-03-31 23:59:59:999 +00:00", week2.End.ToString(Format), "#2");

            Assert.AreEqual(14, week3.Week, "#3");
            Assert.AreEqual(2019, week3.Year, "#3");
            Assert.AreEqual("2019-04-01 00:00:00:000 +00:00", week3.Start.ToString(Format), "#3");
            Assert.AreEqual("2019-04-07 23:59:59:999 +00:00", week3.End.ToString(Format), "#3");

            Assert.AreEqual(12, week4.Week, "#4");
            Assert.AreEqual(2019, week4.Year, "#4");
            Assert.AreEqual("2019-03-18 00:00:00:000 +01:00", week4.Start.ToString(Format), "#4");
            Assert.AreEqual("2019-03-24 23:59:59:999 +01:00", week4.End.ToString(Format), "#4");

            Assert.AreEqual(13, week5.Week, "#2");
            Assert.AreEqual(2019, week5.Year, "#2");
            Assert.AreEqual("2019-03-25 00:00:00:000 +01:00", week5.Start.ToString(Format), "#5");
            Assert.AreEqual("2019-03-31 23:59:59:999 +02:00", week5.End.ToString(Format), "#5");

            Assert.AreEqual(14, week6.Week, "#6");
            Assert.AreEqual(2019, week6.Year, "#6");
            Assert.AreEqual("2019-04-01 00:00:00:000 +02:00", week6.Start.ToString(Format), "#6");
            Assert.AreEqual("2019-04-07 23:59:59:999 +02:00", week6.End.ToString(Format), "#6");
        }
        public void GetEnumerator()
        {
            TimeZoneInfo romance = TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time");

            var date = new EssentialsDate(2019, 10, 24);

            EssentialsWeek week = new EssentialsWeek(date, romance);

            Assert.AreEqual("2019-10-21T00:00:00.000+02:00", week.Start.ToString(), "Start");
            Assert.AreEqual("2019-10-27T23:59:59.999+01:00", week.End.ToString(), "End");

            EssentialsDate[] days = week.ToArray();

            Assert.AreEqual(7, days.Length);

            Assert.AreEqual(DayOfWeek.Monday, days[0].DayOfWeek);
            Assert.AreEqual("2019-10-21", days[0].ToString());

            Assert.AreEqual(DayOfWeek.Tuesday, days[1].DayOfWeek);
            Assert.AreEqual("2019-10-22", days[1].ToString());

            Assert.AreEqual(DayOfWeek.Wednesday, days[2].DayOfWeek);
            Assert.AreEqual("2019-10-23", days[2].ToString());

            Assert.AreEqual(DayOfWeek.Thursday, days[3].DayOfWeek);
            Assert.AreEqual("2019-10-24", days[3].ToString());

            Assert.AreEqual(DayOfWeek.Friday, days[4].DayOfWeek);
            Assert.AreEqual("2019-10-25", days[4].ToString());

            Assert.AreEqual(DayOfWeek.Saturday, days[5].DayOfWeek);
            Assert.AreEqual("2019-10-26", days[5].ToString());

            Assert.AreEqual(DayOfWeek.Sunday, days[6].DayOfWeek);
            Assert.AreEqual("2019-10-27", days[6].ToString());
        }
        public void NewYear()
        {
            #region 2016 -> 2017

            EssentialsWeek sample1 = new EssentialsWeek(2016, 12, 31);
            Assert.AreEqual(52, sample1.WeekNumber);
            Assert.AreEqual(2016, sample1.Year);

            EssentialsWeek sample2 = new EssentialsWeek(2017, 1, 1);
            Assert.AreEqual(52, sample2.WeekNumber);
            Assert.AreEqual(2016, sample2.Year);

            #endregion

            #region 2017 -> 2018

            EssentialsWeek sample3 = new EssentialsWeek(2017, 12, 31);
            Assert.AreEqual(52, sample3.WeekNumber);
            Assert.AreEqual(2017, sample3.Year);

            EssentialsWeek sample4 = new EssentialsWeek(2018, 1, 1);
            Assert.AreEqual(1, sample4.WeekNumber);
            Assert.AreEqual(2018, sample4.Year);

            #endregion

            #region 2018 -> 2019

            EssentialsWeek sample5 = new EssentialsWeek(2018, 12, 31);
            Assert.AreEqual(1, sample5.WeekNumber);
            Assert.AreEqual(2019, sample5.Year);

            EssentialsWeek sample6 = new EssentialsWeek(2019, 1, 1);
            Assert.AreEqual(1, sample6.WeekNumber);
            Assert.AreEqual(2019, sample6.Year);

            #endregion

            #region 2019 -> 2020

            EssentialsWeek sample7 = new EssentialsWeek(2019, 12, 31);
            Assert.AreEqual(1, sample7.WeekNumber);
            Assert.AreEqual(2020, sample7.Year);

            EssentialsWeek sample8 = new EssentialsWeek(2020, 1, 1);
            Assert.AreEqual(1, sample8.WeekNumber);
            Assert.AreEqual(2020, sample8.Year);

            #endregion

            #region 2020 -> 2021

            EssentialsWeek sample9 = new EssentialsWeek(2020, 12, 31);
            Assert.AreEqual(53, sample9.WeekNumber);
            Assert.AreEqual(2020, sample9.Year);

            EssentialsWeek sample10 = new EssentialsWeek(2021, 1, 1);
            Assert.AreEqual(53, sample10.WeekNumber);
            Assert.AreEqual(2020, sample10.Year);

            #endregion
        }