コード例 #1
0
        public void InvokePropertyTestChangedTest()
        {
            var vm = new ViewModelMock().RegisterCounter();

            ((IViewModel)vm).OnPropertyChanged("Test");
            vm.PropertyChanged += (s, a) => Assert.AreEqual("Test", a.PropertyName);

            Assert.AreEqual(1, vm.PropertyChangedRaisedCount);
        }
コード例 #2
0
        public void SetPropertyValueTest_EqualReference()
        {
            var vm = new ViewModelMock().RegisterCounter();

            var obj = new object();

            vm.SetPropertyValue(ref obj, obj, "PropertyName");

            Assert.AreEqual(0, vm.PropertyChangedRaisedCount);
        }
コード例 #3
0
        public void SetPropertyValueTest_Equal()
        {
            var vm = new ViewModelMock().RegisterCounter();

            string oldValue = "String";

            vm.SetPropertyValue(ref oldValue, "String", "PropertyName");

            Assert.AreEqual(0, vm.PropertyChangedRaisedCount);
        }
コード例 #4
0
        public void SetPropertyValueTest_ClearNull()
        {
            var vm = new ViewModelMock().RegisterCounter();

            object?oldValue = null;

            vm.SetPropertyValue(ref oldValue, new object(), "PropertyName");

            Assert.AreEqual(1, vm.PropertyChangedRaisedCount);
        }
コード例 #5
0
        public void SetPropertyValueTest()
        {
            var vm = new ViewModelMock().RegisterCounter();

            int value = 13;

            vm.SetPropertyValue(ref value, 0, "Test");

            Assert.AreEqual(1, vm.PropertyChangedRaisedCount);
            Assert.AreEqual(0, value);
        }
コード例 #6
0
        public void InvokeEqualNotifier()
        {
            bool invoked = false;
            var  vm      = new ViewModelMock();

            vm.PropertyChanged += (s, a) => invoked = true;

            vm.InvariantCaseString = "HalloWelt";

            Assert.IsTrue(invoked);

            invoked = false;

            vm.InvariantCaseString = "hALLOwELT";
            Assert.IsFalse(invoked);
        }
コード例 #7
0
        public void OnPropertyChangedTest()
        {
            bool propertChangedWasRised = false;

            var vm = new ViewModelMock();

            vm.PropertyChanged += (s, a) =>
            {
                Assert.AreEqual("Test", a.PropertyName);
                propertChangedWasRised = true;
            };

            vm.OnPropertyChanged("Test", "before", "after");

            Assert.IsTrue(propertChangedWasRised);
        }
コード例 #8
0
        public void DependsOnTest()
        {
            List <string> changedProperties = new List <string>();
            var           vm = new ViewModelMock();

            vm.PropertyChanged += (s, a) => changedProperties.Add(a.PropertyName);

            vm.Name = "Klaus";

            Assert.IsTrue(changedProperties.Contains(nameof(vm.Name)));
            Assert.IsTrue(changedProperties.Contains(nameof(vm.AgedName)));

            changedProperties.Clear();

            vm.Age = 35;

            Assert.IsTrue(changedProperties.Contains(nameof(vm.Age)));
            Assert.IsTrue(changedProperties.Contains(nameof(vm.AgedName)));

            Assert.AreEqual("Klaus (35)", vm.AgedName);
        }
コード例 #9
0
        public void CommandInvokeTest()
        {
            var commandMock = new Mock <ICommand>();

            var vm = new ViewModelMock();

            vm.Command = commandMock.Object;
            vm.Command.CanExecuteChanged += (s, a) => Assert.Fail();

            vm.Name = "anything";

            vm.Command = new RelayCommand(() => { });

            bool canExecuteChangedInvoked = false;

            vm.Command.CanExecuteChanged += (s, a) => canExecuteChangedInvoked = true;

            vm.Name = "NewName";

            Assert.IsTrue(canExecuteChangedInvoked);
        }
コード例 #10
0
        public void SetModelPropertyTest()
        {
            var vm = new ViewModelMock().RegisterCounter();

            vm.model.FirstValue = 10;

            Assert.AreEqual(10, vm.model.FirstValue);
            Assert.AreEqual(0, vm.PropertyChangedRaisedCount);

            vm.FirstValue = 13;

            Assert.AreEqual(13, vm.model.FirstValue);
            Assert.AreEqual(1, vm.PropertyChangedRaisedCount);

            vm.model.FirstValue = 10;

            vm.FirstValue = 10;

            Assert.AreEqual(10, vm.model.FirstValue);
            Assert.AreEqual(1, vm.PropertyChangedRaisedCount);
        }
コード例 #11
0
        public void OnPropertyChanged_NoEventsTest()
        {
            var vm = new ViewModelMock();

            vm.OnPropertyChanged("Test", "before", "after");
        }
コード例 #12
0
        public void SetModelProperty_Fail()
        {
            var vm = new ViewModelMock();

            vm.SecondValue = 10;
        }