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
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 8
0
        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!");
        }