public void CallOnlySearchTitle()
        {
            const string filter = "filter";
            SearchViewModel viewModel = new SearchViewModel() { SearchOnAlbum = false, SearchOnArtist = false };

            viewModel.SearchSongsListCommand.Execute(filter);

            MockService.Verify(s => s.SearchSongs(filter, true, false, false), Times.Once());
        }
        public void CallServiceAndRaiseNewSearchEventWithFilter()
        {
            const string filter = "filter";
            ContentBodyEventCatcher catcher = new ContentBodyEventCatcher();
            ObservableCollection<Song> songs = new ObservableCollection<Song>();
            MockService.Setup(s => s.SearchSongs(filter, true, true, true)).Returns(songs);
            SearchViewModel viewModel = new SearchViewModel();

            viewModel.SearchSongsListCommand.Execute(filter);

            MockService.Verify(s => s.SearchSongs(filter, true, true, true), Times.Once());
            Assert.IsTrue(catcher.NewSearchInvoked);
            Assert.AreEqual(songs, catcher.SearchSongList);
            Assert.AreEqual(filter, catcher.SearchFilter);
        }
        public void InitializeCorrectly()
        {
            SearchViewModel viewModel = new SearchViewModel();

            Assert.IsTrue(viewModel.SearchOnTitle);
            Assert.IsTrue(viewModel.SearchOnArtist);
            Assert.IsTrue(viewModel.SearchOnAlbum);
        }