public void ImageExplorerViewModel_SyncsIntialItemsFromCache_WhenItemsAvailable() => new TestScheduler().With(scheduler => { var source = new SourceCache <ImageHandle, string>(x => x.LoadingSettings.FilePath); source.AddOrUpdate(GetDummyHandle("foo")); var sut = new ImageExplorerViewModel(source.AsObservableCache()); sut.Activator.Activate(); scheduler.AdvanceBy(2); Assert.Equal(1, sut.Children.Count); });
public void ImageExplorerViewModel_SelectionsObservableFires_WhenNewItemSelected() => new TestScheduler().With(scheduler => { bool success = false; var source = new SourceCache <ImageHandle, string>(x => x.LoadingSettings.FilePath); source.AddOrUpdate(GetDummyHandle("foo")); source.AddOrUpdate(GetDummyHandle("bar")); var sut = new ImageExplorerViewModel(source.AsObservableCache()); sut.Activator.Activate(); scheduler.AdvanceBy(2); sut.Selections.Where(x => x.LoadingSettings.FilePath == "bar").Subscribe(_ => success = true); sut.SelectNext.Execute().Subscribe(); scheduler.AdvanceBy(2); Assert.True(success); });
public void ImageExplorerViewModel_SelectNextSelectsNextItem_WhenAtLeastTwoItemsAvailable() => new TestScheduler().With(scheduler => { var source = new SourceCache <ImageHandle, string>(x => x.LoadingSettings.FilePath); source.AddOrUpdate(GetDummyHandle("foo")); source.AddOrUpdate(GetDummyHandle("bar")); var sut = new ImageExplorerViewModel(source.AsObservableCache()); sut.Activator.Activate(); scheduler.AdvanceBy(2); Assert.Equal("foo", sut.SelectedItem.ExplorerItem.FilePath); sut.SelectNext.Execute().Subscribe(); scheduler.AdvanceBy(1); Assert.Equal("bar", sut.SelectedItem.ExplorerItem.FilePath); });