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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 7
0
 private static AdministratorModel CreateAdminViewModel(FakeViewControl viewControl)
 {
     return(new AdminViewModel(viewControl));
 }
Exemplo n.º 8
0
 private static SelectionModel CreateViewModel(FakeViewControl viewControl)
 {
     return(new JukeViewModel(viewControl));
 }
Exemplo n.º 9
0
        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);
        }