Exemple #1
0
        public void AddEvents()
        {
            UIElement dependencyObject = new UIElement();
            var       bindEvent        = new BindEventHandler();
            var       viewModel        = new _TestBindEventHandler();

            bindEvent.Source          = viewModel;
            bindEvent.MethodName      = "RoutedEventHandler";
            bindEvent.TargetEventName = "GotFocus";

            // rise event to the property
            BindXAML.ProcessAddEventItems(dependencyObject, bindEvent);
            RoutedEventArgs newEventArgs = new RoutedEventArgs(UIElement.GotFocusEvent);

            dependencyObject.RaiseEvent(newEventArgs);

            Assert.True(viewModel.EventCalled);
        }
        public void AddPropertyChangeEvents()
        {
            ExecuteInStaMode.Invoke(() =>
            {
                UIElement dependencyObject = new UIElement();
                var bindEvent                = new BindEventHandler();
                var viewModel                = new _TestBindEventHandlerChange();
                bindEvent.Source             = viewModel;
                bindEvent.MethodName         = "EventHandler";
                bindEvent.TargetPropertyName = "IsEnabled";

                BindXAML.ProcessAddPropertyChangeEventItems(dependencyObject, bindEvent);

                // change the property
                dependencyObject.IsEnabled = false;
                Assert.True(viewModel.EventCalled, "Dependency property change event was not set");
            });
        }
        public void AutoWireDataContextNoXName()
        {
            ExecuteInStaMode.Invoke(() =>
            {
                // case UnitTest.AutoWireDataContextView ==> UnitTest.ViewModels.AutoWireDataContextViewModel

                AutoWireDataContextView dependencyObject = new AutoWireDataContextView();
                object dataContext = dependencyObject.DataContext;
                Assert.Null(dataContext);

                AutoWireVmDataContext wireProvider = new AutoWireVmDataContext();
                wireProvider.Execute(dependencyObject);
                dataContext = dependencyObject.DataContext;
                Assert.NotNull(dataContext);

                object awVM = BindXAML.GetAutoWiredViewModel(dependencyObject);
                Assert.True(object.ReferenceEquals(awVM, dataContext));
            });
        }
Exemple #4
0
        public void AutoWireDataContextXNamePriority1()
        {
            ExecuteInStaMode.Invoke(() =>
            {
                // case UnitTest.AutoWireDataContext   !=> UnitTest.ViewModels.AutoWireDataContext
                // x:Name=AutoWireDataContextViewModel ==> UnitTest.ViewModels.AutoWireDataContextViewModel

                AutoWireDataContext dependencyObject = new AutoWireDataContext();
                dependencyObject.Name = "AutoWireDataContextViewModel";
                object dataContext    = dependencyObject.DataContext;
                Assert.IsNull(dataContext);

                AutoWireVmDataContext wireProvider = new AutoWireVmDataContext();
                wireProvider.Execute(dependencyObject);
                dataContext = dependencyObject.DataContext;
                Assert.IsNotNull(dataContext);

                object awVM = BindXAML.GetAutoWiredViewModel(dependencyObject);
                Assert.IsTrue(object.ReferenceEquals(awVM, dataContext));
            });
        }
        public void AutoWireDataContextNoXNameTag()
        {
            ExecuteInStaMode.Invoke(() =>
            {
                // case UnitTest.AutoWireDataContextView ==> UnitTest.ViewModels.AutoWireDataContextViewModel

                AutoWireDataContextView dependencyObject = new AutoWireDataContextView();
                object viewModel = dependencyObject.Tag;
                Assert.Null(viewModel);

                AutoWireVmDataContext wireProvider = new AutoWireVmDataContext()
                {
                    TargetPropertyName = "Tag"
                };
                wireProvider.Execute(dependencyObject);
                viewModel = dependencyObject.Tag;
                Assert.NotNull(viewModel);

                object awVM = BindXAML.GetAutoWiredViewModel(dependencyObject);
                Assert.True(object.ReferenceEquals(awVM, viewModel));
            });
        }
Exemple #6
0
        public void AutoWireDataContextNoXNameSubMatch()
        {
            ExecuteInStaMode.Invoke(() =>
            {
                // case UnitTest.AutoWireDataContext ==> UnitTest.ViewModels.AutoWireDataContext because (sub match)
                //                                   !=> UnitTest.ViewModels.AutoWireDataContextViewModel

                AutoWireDataContext dependencyObject = new AutoWireDataContext();
                object dataContext = dependencyObject.DataContext;
                Assert.IsNull(dataContext);

                AutoWireVmDataContext wireProvider = new AutoWireVmDataContext()
                {
                    UseMaxNameSubMatch = true
                };
                wireProvider.Execute(dependencyObject);
                dataContext = dependencyObject.DataContext;
                Assert.IsNotNull(dataContext);

                object awVM = BindXAML.GetAutoWiredViewModel(dependencyObject);
                Assert.IsTrue(object.ReferenceEquals(awVM, dataContext));
            });
        }