public void when_SelectedItem_is_set_then_the_SelectedItemChanged_pumps_the_value() { var testSchedulerProvider = new TestDispatcherSchedulerProvider(); var result = new List<int>(); var reactiveMultiSelectCollection = new ReactiveMultiSelectCollection<int>(new BindableCollection<int>(testSchedulerProvider), testSchedulerProvider); reactiveMultiSelectCollection.SelectedItemsChanged .Subscribe(x => result = x.ToList()); var selectedItem = Enumerable.Range(0,1).ToList(); reactiveMultiSelectCollection.SelectedItems = selectedItem; Assert.That(selectedItem.SequenceEqual(result)); }
public void when_SelectedItem_is_set_then_the_SelectedItemChanged_pumps_the_value() { var testSchedulerProvider = new TestDispatcherSchedulerProvider(); var result = new List <int>(); var reactiveMultiSelectCollection = new ReactiveMultiSelectCollection <int>(new BindableCollection <int>(testSchedulerProvider), testSchedulerProvider); reactiveMultiSelectCollection.SelectedItemsChanged .Subscribe(x => result = x.ToList()); var selectedItem = Enumerable.Range(0, 1).ToList(); reactiveMultiSelectCollection.SelectedItems = selectedItem; Assert.That(selectedItem.SequenceEqual(result)); }
public void when_SelectedItem_is_set_then_the_SelectedItems_INPC_is_fired() { var testSchedulerProvider = new TestDispatcherSchedulerProvider(); var reactiveMultiSelectCollection = new ReactiveMultiSelectCollection<int>(new BindableCollection<int>(testSchedulerProvider), testSchedulerProvider); var result = false; reactiveMultiSelectCollection.PropertyChanged += (sender, args) => { var propertyName = PropertyExtensions.ExtractPropertyName(() => reactiveMultiSelectCollection.SelectedItems); if (args.PropertyName == propertyName) { result = true; } }; reactiveMultiSelectCollection.SelectedItems = Enumerable.Range(0, 1).ToList(); ((TestScheduler)testSchedulerProvider.Dispatcher.RX).AdvanceBy(1); Assert.That(result, Is.True); }
public void when_SelectedItem_is_set_then_the_SelectedItems_INPC_is_fired() { var testSchedulerProvider = new TestDispatcherSchedulerProvider(); var reactiveMultiSelectCollection = new ReactiveMultiSelectCollection <int>(new BindableCollection <int>(testSchedulerProvider), testSchedulerProvider); var result = false; reactiveMultiSelectCollection.PropertyChanged += (sender, args) => { var propertyName = PropertyExtensions.ExtractPropertyName(() => reactiveMultiSelectCollection.SelectedItems); if (args.PropertyName == propertyName) { result = true; } }; reactiveMultiSelectCollection.SelectedItems = Enumerable.Range(0, 1).ToList(); ((TestScheduler)testSchedulerProvider.Dispatcher.RX).AdvanceBy(1); Assert.That(result, Is.True); }