public MoviesListViewModel()
        {
            genreService = new GenresService();
            movieService = new MovieService();

            Genres = new ObservableCollection <Genre>(genreService.GetAllGenres());
            Movies = new ObservableCollection <Movie>();

            ShowSearchItemsCommand = new Command(ShowSearchItems);
            SearchCommand          = new Command(RePopulateCollection);
            ResetCommand           = new Command(
                () => {
                selectedGenre = null;
                RePopulateCollection();
            });

            RePopulateCollection();
        }
        public void ReturnCorrectListOfGenres()
        {
            // Arrange
            var mockedData = new Mock <IBetterReadsData>();
            var genres     = new List <Genre>()
            {
                new Mock <Genre>().Object,
                new Mock <Genre>().Object,
                new Mock <Genre>().Object
            }.AsQueryable();

            mockedData.Setup(x => x.Genres.All).Returns(genres);

            var service = new GenresService(mockedData.Object);

            // Act
            var result = service.GetAllGenres();

            // Assert
            CollectionAssert.AreEqual(genres.ToList(), result);
        }