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)); }); }
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)); }); }
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)); }); }