public void ProperlyBindCollectionChanged() { var connector = new TConnector(); Assert.IsNull(connector.ModelCollection); var mc = new ObservableCollectionEventChangeChecker <TestModel>(); Assert.IsFalse(mc.CollectionChangedEventHandlerAdded); connector.ModelCollection = mc; Assert.IsTrue(mc.CollectionChangedEventHandlerAdded); }
public void UnbindViewModelCollectionWhenReplaced() { var sp = new StackPanel(); var vm = new ObservableCollectionEventChangeChecker <IViewModel <TestModel> >(); var conn = new TConnector { ViewCollection = sp.Children, ViewModelCollection = vm }; Assert.IsFalse(vm.CollectionChangedEventHandlerRemoved); conn.ViewModelCollection = null; Assert.IsTrue(vm.CollectionChangedEventHandlerRemoved); }
public void IgnoreChangingTheCollectionIfItIsTheSame() { var mc = new ObservableCollectionEventChangeChecker <TestModel>(); var connector = new TConnector { ModelCollection = mc }; mc.CollectionChangedEventHandlerAdded = false; mc.CollectionChangedEventHandlerRemoved = false; connector.ModelCollection = mc; Assert.IsFalse(mc.CollectionChangedEventHandlerAdded); Assert.IsFalse(mc.CollectionChangedEventHandlerRemoved); }
public void KeepViewModelCollectionUnchangedIfReplacedWithTheSameObject() { var sp = new StackPanel(); var vms = new ObservableCollectionEventChangeChecker <IViewModel <TestModel> > { new TestViewModel() }; var conn = new TConnector { ViewCollection = sp.Children, ViewModelCollection = vms }; vms.CollectionChangedEventHandlerAdded = false; vms.CollectionChangedEventHandlerRemoved = false; conn.ViewModelCollection = vms; Assert.IsFalse(vms.CollectionChangedEventHandlerAdded); Assert.IsFalse(vms.CollectionChangedEventHandlerRemoved); }
public void ProperlyUnbindCollectionChanged() { var mc1 = new ObservableCollectionEventChangeChecker <TestModel>(); var mc2 = new ObservableCollectionEventChangeChecker <TestModel>(); var connector = new TConnector { ModelCollection = mc1 }; mc1.CollectionChangedEventHandlerAdded = false; Assert.IsFalse(mc1.CollectionChangedEventHandlerAdded); Assert.IsFalse(mc1.CollectionChangedEventHandlerRemoved); Assert.IsFalse(mc2.CollectionChangedEventHandlerAdded); Assert.IsFalse(mc2.CollectionChangedEventHandlerRemoved); connector.ModelCollection = mc2; Assert.IsTrue(mc1.CollectionChangedEventHandlerRemoved); Assert.IsTrue(mc2.CollectionChangedEventHandlerAdded); }