コード例 #1
0
        public void NotBindViewModelWhenTheSameModelIsSet()
        {
            var vm = new TestViewModel();
            var v  = new TestView();

            v.SetViewModel(vm);
            v.UnbindModelCalled = false;
            Assert.IsFalse(v.UnbindModelCalled);

            v.SetViewModel(vm);
            Assert.IsFalse(v.UnbindModelCalled);
        }
コード例 #2
0
        public void UnbindPreviousViewProperly()
        {
            var vm1 = new TestViewModel();
            var vm2 = new TestViewModel();
            var v   = new TestView();

            v.SetViewModel(vm1);
            v.UnbindModelCalled = false;
            Assert.IsFalse(v.UnbindModelCalled);

            v.SetViewModel(vm2);
            Assert.IsTrue(v.UnbindModelCalled);
        }
コード例 #3
0
        public void CallBindModelOnView()
        {
            var v   = new TestView();
            var tvm = new TestViewModel();

            v.SetViewModel(tvm);
            Assert.IsTrue(v.BindModelCalled);
        }
コード例 #4
0
        public void ProperlyExecuteActionIfViewModelIsSet()
        {
            var v   = new TestView();
            var tvm = new TestViewModel();

            v.SetViewModel(tvm);
            v.ExecuteViewModelMethod(CallViewModelExecute);
            Assert.IsTrue(tvm.ExecuteCalled);
        }
コード例 #5
0
        public void ReturnProperViewModelIfViewIsRegistered()
        {
            var v  = new TestView();
            var vm = new TestViewModel();
            var o  = (object)v;

            v.SetViewModel(vm);

            Assert.AreSame(vm, o.GetViewModel <TestViewModel>());
        }
コード例 #6
0
        public void NotRebindWhenOtherThanModelPropertyOfTheViewModelIsChanged()
        {
            var v  = new TestView();
            var vm = new TestViewModel();

            v.SetViewModel(vm);
            v.BindModelCalled   = false;
            v.UnbindModelCalled = false;
            Assert.IsFalse(v.BindModelCalled);
            Assert.IsFalse(v.UnbindModelCalled);

            vm.PropertyRaisingChangeNotification = 42;
            Assert.IsFalse(v.UnbindModelCalled);
            Assert.IsFalse(v.BindModelCalled);
        }
コード例 #7
0
        public void RebindViewWhenModelOnViewModelIsChanged()
        {
            var v  = new TestView();
            var vm = new TestViewModel();
            var m  = new TestModel();

            v.SetViewModel(vm);
            Assert.AreNotSame(vm.Model, m);
            v.BindModelCalled   = false;
            v.UnbindModelCalled = false;
            Assert.IsFalse(v.BindModelCalled);
            Assert.IsFalse(v.UnbindModelCalled);

            vm.Model = m;
            Assert.IsTrue(v.UnbindModelCalled);
            Assert.IsTrue(v.BindModelCalled);
        }