public void SetParentViewModelTest()
        {
            var    viewModel = new TestVM();
            Button button    = new Button()
            {
                DataContext = viewModel
            };

            ViewModelExtensions.SetParentViewModel(button, 13);
            Assert.AreEqual(13, viewModel.ParentViewModel);
            Assert.AreEqual(1, viewModel.ParentViewModelChangingCounter);
        }
        public void SetParentViewModelTest()
        {
            var viewModel = new Mock <ISupportParentViewModel>(MockBehavior.Strict);

            viewModel.SetupSet(x => x.ParentViewModel = It.IsAny <object>()).Verifiable();
            Button button = new Button()
            {
                DataContext = viewModel.Object
            };

            ViewModelExtensions.SetParentViewModel(button, 13);
            viewModel.VerifySet(x => x.ParentViewModel = 13, Times.Once());
        }
        public void SetProperties()
        {
            var button1         = new Button();
            var parentViewModel = new ViewModel();
            var viewModel       = new ViewModel();

            ViewModelExtensions.SetParameter(button1, "test");
            ViewModelExtensions.SetParentViewModel(button1, parentViewModel);

            var dObject = new DObject();

            ViewModelExtensions.SetParameter(dObject, "test");
            ViewModelExtensions.SetParentViewModel(dObject, parentViewModel);

            var button2 = new Button()
            {
                DataContext = viewModel
            };

            ViewModelExtensions.SetParameter(button2, "test");
            Assert.AreEqual("test", viewModel.With(x => x as ISupportParameter).Parameter);
            ViewModelExtensions.SetParentViewModel(button2, parentViewModel);
            Assert.AreEqual(parentViewModel, viewModel.With(x => x as ISupportParentViewModel).ParentViewModel);
        }