public void LoadSongs_ViewModelCollectionsUpdated_InclueAllArtistsOption() { ViewModelFaker.InitializeLoadedViewModel(ViewModelFaker.CreateSongs(2, 2, 1)); var viewModel = new SelectionTracker(JukeController.Instance.Browser); AreEqual(JukeController.Instance.Browser.Artists.Count + 1, viewModel.Artists.Count); //Including ALL_ARTISTS }
public void FullMatchesComeFirst() { var viewModel = ViewModelFaker.InitializeLoadedViewModel(ViewModelFaker.CreateSongs(1, 1, 14)); var logic = new SongSearchLogic(viewModel); var matches = logic.Search("song1"); Assert.AreEqual(6, matches.Count); Assert.AreEqual("song1", matches[0].Name); }
public void LoadSongs_PromptReturnsNull_NothingLoaded() { CreateFakeLoadEngine(ViewModelFaker.CreateSongs(1, 1, 1)); var listener = new EventListener(JukeController.Instance); var viewControl = new FakeViewControl(null); var viewModel = CreateAdminViewModel(viewControl); viewModel.LoadSongs.Execute(this); IsFalse(listener.LoadInitiated); }
public void LoadSongs_ProgressIsTracked() { var engine = CreateFakeLoadEngine(ViewModelFaker.CreateSongs(1, 2, 1)); var listener = new EventListener(JukeController.Instance); var viewControl = new FakeViewControl("path"); var viewModel = CreateAdminViewModel(viewControl); viewModel.LoadSongs.Execute(this); engine.SignalProgress(); AreEqual(1, int.Parse(listener.ProgressNoted)); }
public void LoadSongs_SongsAreAddedOnCompletion() { var engine = CreateFakeLoadEngine(ViewModelFaker.CreateSongs(1, 2, 1)); var viewControl = new FakeViewControl("path"); var viewModel = CreateAdminViewModel(viewControl); viewModel.LoadSongs.Execute(this); engine.SignalProgress(); engine.SignalComplete(); AreEqual(1, viewModel.SelectionTracker.Artists.Count); AreEqual(2, viewModel.SelectionTracker.Albums.Count); }
public void LoadSongs_ViewControlNotifiedOnCompletion() { var songs = ViewModelFaker.CreateSongs(1, 2, 1); var engine = CreateFakeLoadEngine(songs); var viewControl = new FakeViewControl("path"); LoaderFactory.SetLoaderInstance(new FakeAsyncSongLoader(engine, new FakeSongCollector(songs))); var viewModel = CreateAdminViewModel(viewControl); viewModel.LoadSongs.Execute(this); engine.SignalComplete(); IsTrue(viewControl.Completed); }
public void LoadSongs_LoaderStartedWithPath() { var engine = CreateFakeLoadEngine(ViewModelFaker.CreateSongs(1, 2, 1)); var listener = new EventListener(JukeController.Instance); var viewControl = new FakeViewControl("path"); LoaderFactory.SetLoaderInstance(new FakeAsyncSongLoader(engine)); var viewModel = CreateAdminViewModel(viewControl); viewModel.LoadSongs.Execute(this); AreEqual("path", engine.Path); IsTrue(listener.LoadInitiated); }
public void StressTest_FewArtists_FewAlbums_ManySongs() { Console.WriteLine("Start it up! " + DateTime.Now); ViewModelFaker.InitializeLoadedAdminViewModel(ViewModelFaker.CreateSongsDistinct(5, 3, 500), new FakeViewControl("path")); var viewModel = new SelectionTracker(JukeController.Instance.Browser); viewModel.SelectedArtist = Song.ALL_ARTISTS; Console.WriteLine("Roll it! " + DateTime.Now); var start = DateTime.Now; viewModel.SelectedArtist = "artist2"; var end = DateTime.Now; var diff = end - start; IsTrue(diff.TotalMilliseconds <= 500, diff.TotalMilliseconds + "ms - max 500ms!"); }