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 static SelectionModel InitializeLoadedViewModel(List <Song> songs) { var fakeLoader = CreateFakeLoadEngine(songs); var viewControl = new FakeViewControl("path"); var viewModel = CreateViewModel(viewControl); CreateAdminViewModel(viewControl).LoadSongs.Execute(viewModel); fakeLoader.SignalComplete(); return(viewModel); }
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); }
private static AdministratorModel CreateAdminViewModel(FakeViewControl viewControl) { return(new AdminViewModel(viewControl)); }
private static SelectionModel CreateViewModel(FakeViewControl viewControl) { return(new JukeViewModel(viewControl)); }
public static AdministratorModel InitializeLoadedAdminViewModel(List <Song> songs, FakeViewControl viewControl) { var fakeLoader = CreateFakeLoadEngine(songs); var viewModel = CreateAdminViewModel(viewControl); viewModel.LoadSongs.Execute(viewModel); fakeLoader.SignalComplete(); return(viewModel); }