Example #1
0
        public void NextDayOfTheWeek_NextWeekdateIncludeCurrentDay()
        {
            var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", true);

            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-1 3:00 PM"));

            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday", true);
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-2 3:00 PM"));

            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday", true);
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-7 3:00 PM"));
        }
Example #2
0
        public void NextDayOfTheWeek_NextWeekdateTwoWeeks()
        {
            // Since we're not including the current day, we advance to next two week's out to Tuesday, 5/15
            var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", false, 2);

            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-15 3:00 PM"));

            // Since Wednesday has not happened, we advance two Wednesdays -- which is Wed, 5/9
            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday", false, 2);
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-9 3:00 PM"));

            // Since Monday has passed, we advance to two week's out Monday, 5/14
            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday", false, 2);
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-14 3:00 PM"));
        }
Example #3
0
        public void OrderBy_FromObject_GroupMemberPersonName()
        {
            var expected = new List <int>()
            {
                1, 2, 3, 4
            };

            var members = new List <GroupMember>
            {
                new GroupMember
                {
                    Id     = 2,
                    Person = new Person {
                        FirstName = "Zippey", LastName = "Jones"
                    }
                },
                new GroupMember
                {
                    Id     = 4,
                    Person = new Person {
                        FirstName = "Nancy", LastName = "Smith"
                    }
                },
                new GroupMember
                {
                    Id     = 1,
                    Person = new Person {
                        FirstName = "Adele", LastName = "Jones"
                    }
                },
                new GroupMember
                {
                    Id     = 3,
                    Person = new Person {
                        FirstName = "Fred", LastName = "Smith"
                    }
                },
            };

            var output    = (List <object>)RockFilters.OrderBy(members, "Person.LastName, Person.FirstName");
            var sortedIds = output.Cast <dynamic>().Select(x => x.Id).Cast <int>().ToList();

            CollectionAssert.AreEquivalent(expected, sortedIds);
        }
Example #4
0
        public void NextDayOfTheWeek_NextWeekdate()
        {
            // Since we're not including the current day, we advance to next week's Tuesday, 5/8
            var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday");

            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-8 3:00 PM"));

            // Since Wednesday has not happened, we advance to it -- which is Wed, 5/2
            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday");
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-2 3:00 PM"));

            // Since Monday has passed, we advance to next week's Monday, 5/7
            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday");
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-7 3:00 PM"));

            // From the Lava documentation
            output = RockFilters.NextDayOfTheWeek("2011-2-9 3:00 PM", "Friday");
            DateTimeAssert.AreEqual(output, DateTime.Parse("2011-2-11 3:00 PM"));
        }
Example #5
0
        public void NextDayOfTheWeek_NextWeekdateBackOneWeek()
        {
            // In this case, since it's Tuesday (and we're not including current day), then
            // the current day counts as the *previous* week's Tuesday.
            var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", false, -1);

            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-1 3:00 PM"));

            // If we include the current day (so it counts as *this* week), then one week ago would be
            // last Tuesday, April 24.
            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", true, -1);
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-4-24 3:00 PM"));

            // Get previous week's Wednesday, 4/25
            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday", false, -1);
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-4-25 3:00 PM"));

            // Since Monday has just passed, we get this past Monday, 4/30
            output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday", false, -1);
            DateTimeAssert.AreEqual(output, DateTime.Parse("2018-4-30 3:00 PM"));
        }