Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }