Example #1
0
    public void GroupByTitleAndStaff_given_two_classes_with_same_title_and_staff_joins_them()
    {
        var items = new[]
        {
            new Item
            {
                Id        = "1",
                Title     = "Danish",
                Location  = new[] { "Room 4" },
                StaffName = "Ole",
                Start     = DateTime.Parse("2017-11-29 08:00:00"),
                End       = DateTime.Parse("2017-11-29 08:45:00"),
            },
            new Item
            {
                Id        = "2",
                Title     = "Danish",
                Location  = new[] { "Room 4" },
                StaffName = "Ole",
                Start     = DateTime.Parse("2017-11-29 09:00:00"),
                End       = DateTime.Parse("2017-11-29 09:45:00"),
            },
            new Item
            {
                Id        = "3",
                Title     = "Danish",
                Location  = new[] { "Room 4" },
                StaffName = "Ole",
                Start     = DateTime.Parse("2017-11-30 08:00:00"),
                End       = DateTime.Parse("2017-11-30 08:45:00"),
            },
            new Item
            {
                Id        = "4",
                Title     = "Danish",
                Location  = new[] { "Room 4" },
                StaffName = "Peter",
                Start     = DateTime.Parse("2017-11-30 09:00:00"),
                End       = DateTime.Parse("2017-11-30 09:45:00"),
            }
        };

        var expected = new[] {
            new Item
            {
                Id        = "1",
                Title     = "Danish",
                Location  = new[] { "Room 4" },
                StaffName = "Ole",
                Start     = DateTime.Parse("2017-11-29 08:00:00"),
                End       = DateTime.Parse("2017-11-29 09:45:00"),
            },
            new Item
            {
                Id        = "3",
                Title     = "Danish",
                Location  = new[] { "Room 4" },
                StaffName = "Ole",
                Start     = DateTime.Parse("2017-11-30 08:00:00"),
                End       = DateTime.Parse("2017-11-30 08:45:00"),
            },
            new Item
            {
                Id        = "4",
                Title     = "Danish",
                Location  = new[] { "Room 4" },
                StaffName = "Peter",
                Start     = DateTime.Parse("2017-11-30 09:00:00"),
                End       = DateTime.Parse("2017-11-30 09:45:00"),
            }
        };

        var converter = new CalendarConverter();

        var group = converter.GroupByTitleAndStaff(items);

        Assert.Equal(expected, group);
    }