public void TestQ536034()
        {
            object parameter = 1;

            TestViewElement view = new TestViewElement()
            {
                DataContext = null
            };

            BindingOperations.SetBinding(view, ViewModelExtensions.ParameterProperty, new Binding()
            {
                Source = parameter
            });
            TestView viewModel = new TestView();

            view.DataContext = viewModel;
            Assert.AreEqual(1, ((ISupportParameter)viewModel).Parameter);

            viewModel        = new TestView();
            view.DataContext = viewModel;
            Assert.AreEqual(1, ((ISupportParameter)viewModel).Parameter);
            parameter = 2;

            ViewModelExtensions.SetParameter(view, 2);
            Assert.AreEqual(2, ((ISupportParameter)viewModel).Parameter);

            Assert.AreEqual(1, Interaction.GetBehaviors(view).Count);
        }
        public void OldScaffoldedCode_SetParameterTest_T191302()
        {
            var viewModel = new ViewModelSupportedParameter();
            var button    = new Button()
            {
                DataContext = viewModel
            };

            ViewModelExtensions.SetParameter(button, null);
            Assert.IsTrue(viewModel.ParameterChanged);
        }
        public void SetParameterTest()
        {
            var    viewModel = new TestVM();
            Button button    = new Button()
            {
                DataContext = viewModel
            };

            ViewModelExtensions.SetParameter(button, 13);
            Assert.AreEqual(13, viewModel.Parameter);
            Assert.AreEqual(1, viewModel.ParameterChangingCounter);
        }
        public void SetParameterTest()
        {
            var viewModel = new Mock <ISupportParameter>(MockBehavior.Strict);

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

            ViewModelExtensions.SetParameter(button, 13);
            viewModel.VerifySet(x => x.Parameter = 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);
        }