public void ConcertDayChooser_ReturnCorrectlyIfNoConcerts()
        {
            //Arrange
            var mockFestivalManager            = new Mock <IFestivalManager>();
            ParticipantConcertOverviewModel p1 = new ParticipantConcertOverviewModel(mockFestivalManager.Object)
            {
                Concerts = GenerateConcerts()
            };
            int result = 0;
            //Act
            var resultConcerts = p1.ConcertDayChooser(new DateTime(2020, 01, 13));

            //Assert
            Assert.Equal(result, resultConcerts.Count);
        }
        public void ConcertDayChooser_CheckCorrectListReturn()
        {
            //Arrange
            var mockFestivalManager            = new Mock <IFestivalManager>();
            ParticipantConcertOverviewModel p1 = new ParticipantConcertOverviewModel(mockFestivalManager.Object)
            {
                Concerts = GenerateConcerts()
            };
            string result = "Sunday";
            //Act
            var resultConcerts = p1.ConcertDayChooser(new DateTime(2020, 01, 12));

            //Assert
            Assert.Equal(result, resultConcerts[0].Start.DayOfWeek.ToString());
            Assert.Equal(result, resultConcerts[1].Start.DayOfWeek.ToString());
        }
        public void SortConcertsBy_CorrectlySortByArtist()
        {
            //Arrange
            var mockFestivalManager            = new Mock <IFestivalManager>();
            ParticipantConcertOverviewModel p1 = new ParticipantConcertOverviewModel(mockFestivalManager.Object)
            {
                Concerts = GenerateConcerts(),
                SortBy   = "Artist"
            };

            //Act
            var resultConcerts = p1.SortConcertBy(p1.Concerts);

            //Assert
            Assert.Equal("1Artist", resultConcerts[0].Artist);
            Assert.Equal("2Artist", resultConcerts[1].Artist);
            Assert.Equal("3Artist", resultConcerts[2].Artist);
            Assert.Equal("4Artist", resultConcerts[3].Artist);
            Assert.Equal("5Artist", resultConcerts[4].Artist);
        }
        public void SortConcertsBy_CorrectlySortByTime()
        {
            //Arrange
            var mockFestivalManager            = new Mock <IFestivalManager>();
            ParticipantConcertOverviewModel p1 = new ParticipantConcertOverviewModel(mockFestivalManager.Object)
            {
                Concerts = GenerateConcerts(),
                SortBy   = "Time"
            };

            p1.Concerts.Reverse();

            //Act
            var resultConcerts = p1.SortConcertBy(p1.Concerts);

            //Assert
            Assert.Equal(0, resultConcerts[0].ID);
            Assert.Equal(1, resultConcerts[1].ID);
            Assert.Equal(2, resultConcerts[2].ID);
            Assert.Equal(3, resultConcerts[3].ID);
            Assert.Equal(4, resultConcerts[4].ID);
        }