Пример #1
0
        public void FilterAnimeModelsByAnimeListType_ShouldFilterCorrectly(AnimeListType filterBy, Predicate <MiruAnimeModel> expectedFilterPredicate)
        {
            using (var mock = AutoMock.GetLoose())
            {
                // Arrange
                List <MiruAnimeModel> animeTestModels = new List <MiruAnimeModel>
                {
                    new MiruAnimeModel {
                        IsOnWatchingList = true, CurrentlyAiring = true
                    },
                    new MiruAnimeModel {
                        IsOnWatchingList = true, CurrentlyAiring = false
                    },
                    new MiruAnimeModel {
                        IsOnWatchingList = false, CurrentlyAiring = true
                    }
                };
                var sut = mock.Create <MiruAnimeModelProcessor>();

                // Act
                var filteredList = sut.FilterAnimeModelsByAnimeListType(animeTestModels, filterBy).ToList();

                // Assert
                Assert.True(filteredList.TrueForAll(expectedFilterPredicate));
            }
        }
Пример #2
0
        /// <summary>
        /// Assigns animes to the correct day of week airing list properties.
        /// </summary>
        /// <param name="animeModels"></param>
        /// <param name="animeListType"></param>
        public void SetAnimeSortedByAirDayOfWeekAndFilteredByGivenAnimeListType(IEnumerable <MiruAnimeModel> animeModels, AnimeListType animeListType)
        {
            animeModels = MiruAnimeModelProcessor.FilterAnimeModelsByAnimeListType(animeModels, animeListType);

            MondayAiringAnimeList    = MiruAnimeModelProcessor.FilterAnimeModelsByAirDayOfWeekAndOrderByAirTime(animeModels, DayOfWeek.Monday);
            TuesdayAiringAnimeList   = MiruAnimeModelProcessor.FilterAnimeModelsByAirDayOfWeekAndOrderByAirTime(animeModels, DayOfWeek.Tuesday);
            WednesdayAiringAnimeList = MiruAnimeModelProcessor.FilterAnimeModelsByAirDayOfWeekAndOrderByAirTime(animeModels, DayOfWeek.Wednesday);
            ThursdayAiringAnimeList  = MiruAnimeModelProcessor.FilterAnimeModelsByAirDayOfWeekAndOrderByAirTime(animeModels, DayOfWeek.Thursday);
            FridayAiringAnimeList    = MiruAnimeModelProcessor.FilterAnimeModelsByAirDayOfWeekAndOrderByAirTime(animeModels, DayOfWeek.Friday);
            SaturdayAiringAnimeList  = MiruAnimeModelProcessor.FilterAnimeModelsByAirDayOfWeekAndOrderByAirTime(animeModels, DayOfWeek.Saturday);
            SundayAiringAnimeList    = MiruAnimeModelProcessor.FilterAnimeModelsByAirDayOfWeekAndOrderByAirTime(animeModels, DayOfWeek.Sunday);
        }
Пример #3
0
 private void LoadUserSettings(UserSettings userSettings)
 {
     AnimeImageSizeInPixels      = userSettings.AnimeImageSize;
     _selectedDisplayedAnimeList = userSettings.DisplayedAnimeListType;
     SelectedDisplayedAnimeType  = userSettings.DisplayedAnimeType;
 }
Пример #4
0
        // returns a list of anime models which belong to the specified anime list type
        public IEnumerable <MiruAnimeModel> FilterAnimeModelsByAnimeListType(IEnumerable <MiruAnimeModel> animeModels, AnimeListType animeListType)
        {
            switch (animeListType)
            {
            case AnimeListType.AiringAndWatching:
                animeModels = animeModels.Where(a => a.IsOnWatchingList && a.CurrentlyAiring).ToList();
                break;

            case AnimeListType.Watching:
                animeModels = animeModels.Where(a => a.IsOnWatchingList).ToList();
                break;

            case AnimeListType.Season:
                animeModels = animeModels.Where(a => a.CurrentlyAiring).ToList();
                break;

            case AnimeListType.Senpai:
                animeModels = animeModels.Where(a => a.IsOnSenpai).ToList();
                break;
            }
            return(animeModels);
        }