public void OwrAutoWireDataContextXNameAlias4() { ExecuteInStaMode.Invoke(() => { // The name "AutoWireAliasDataContextVer123" is split into parts {"Auto","Wire","Alias","Data","Context","Ver123"} , and // The name "AutoWire_Alias_DataContext_Ver123" is split into parts {"Auto","Wire","Alias","Data","Context","Ver123"}; // so they are considered as the match. // case UnitTest.AliasDataContext !=> UnitTest.ViewModels.AliasDataContext // x:Name=AutoWireAliasDataContextVer123 !=> UnitTest.ViewModels.AutoWireAliasDataContext // ==> UnitTest.ViewModels.AutoWireAbracadabraName123 because [ViewModelClassAlias("AutoWire_Alias_DataContext_Ver123")] AliasDataContext dependencyObject = new AliasDataContext(); dependencyObject.Name = "AutoWireAliasDataContextVer123"; object dataContext = dependencyObject.DataContext; Assert.Null(dataContext); AutoWireVmDataContext wireProvider = new AutoWireVmDataContext() { ViewModelNamespaceOverwrite = "Abracadabra.Where.It.Placed" }; wireProvider.Execute(dependencyObject); dataContext = dependencyObject.DataContext; Assert.NotNull(dataContext); }); }
public void AutoWireControlsTestButtonEventsSource() { ExecuteInStaMode.Invoke(() => { DataContextButonVFM dependencyObject = new DataContextButonVFM(); var viewmodel = new UnitTestMvvmBindingPack.ViewModels.DataContextViewModelButtonT2(); AutoWireViewConrols wireProvider = new AutoWireViewConrols() { Source = viewmodel }; dependencyObject.Name = "TestButton"; wireProvider.FrameworkElementLoaded(dependencyObject, new RoutedEventArgs(FrameworkElement.LoadedEvent)); // // check wiring results of wiring - EVENTS // dependencyObject.RaiseEvent(new RoutedEventArgs(UIElement.GotFocusEvent)); Assert.IsTrue(viewmodel.TestButtonGotFocusCalled, "TestButton_GotFocus in View was not wired"); dependencyObject.RaiseEvent(new RoutedEventArgs(UIElement.LostFocusEvent)); Assert.IsTrue(viewmodel.TestButtonLostFocusCalled, "TestButton_GotFocus in View was not wired"); Assert.IsNotNull(viewmodel._ButtonXName_TestButton, "TestButton control was not wired to View Model from View"); Assert.IsNotNull(viewmodel._Button_GotFocus, "TestButton GotFocus event was not wired to View Model from View"); Assert.IsTrue(viewmodel._Button_GotFocus.IsEvent, "TestButton GotFocus event was not wired to View Model from View"); Assert.IsNotNull(viewmodel._Button_LostFocus, "TestButton GotFocus event was not wired to View Model from View"); Assert.IsTrue(viewmodel._Button_LostFocus.IsEvent, "TestButton GotFocus event was not wired to View Model from View"); }); }
public void AutoWireDataContextNoXNameNeg() { ExecuteInStaMode.Invoke(() => { // case UnitTest.AutoWireDataContext !=> UnitTest.ViewModels.AutoWireDataContext // !=> UnitTest.ViewModels.AutoWireDataContextViewModel AutoWireDataContext dependencyObject = new AutoWireDataContext(); object dataContext = dependencyObject.DataContext; Assert.Null(dataContext); AutoWireVmDataContext wireProvider = new AutoWireVmDataContext(); wireProvider.Execute(dependencyObject); dataContext = dependencyObject.DataContext; Assert.Null(dataContext); }); }
public void AutoWireDataContextNoNameAlias1() { ExecuteInStaMode.Invoke(() => { // case UnitTest.AutoWireAliaasDataContext !=> UnitTest.ViewModels.AutoWireAliasDataContext // ==> UnitTest.ViewModels.AutoWireAbracadabraName123 because [ViewModelClassAlias("AutoWireAliasDataContext")] AutoWireAliasDataContext dependencyObject = new AutoWireAliasDataContext(); object dataContext = dependencyObject.DataContext; Assert.Null(dataContext); AutoWireVmDataContext wireProvider = new AutoWireVmDataContext(); wireProvider.Execute(dependencyObject); dataContext = dependencyObject.DataContext; Assert.NotNull(dataContext); }); }
public void OwrAutoWireDataContextXNamePriority1() { 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.Null(dataContext); AutoWireVmDataContext wireProvider = new AutoWireVmDataContext(); wireProvider.Execute(dependencyObject); dataContext = dependencyObject.DataContext; Assert.NotNull(dataContext); }); }
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 OwrAutoWireDataContextNoXName() { ExecuteInStaMode.Invoke(() => { // case UnitTest.AutoWireDataContextView ==> UnitTest.ViewModels.AutoWireDataContextViewModel AutoWireDataContextView dependencyObject = new AutoWireDataContextView(); object dataContext = dependencyObject.DataContext; Assert.Null(dataContext); AutoWireVmDataContext wireProvider = new AutoWireVmDataContext() { ViewModelNamespaceOverwrite = "Abracadabra.Where.It.Placed" }; wireProvider.Execute(dependencyObject); dataContext = dependencyObject.DataContext; Assert.NotNull(dataContext); }); }
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 OwrAutoWireDataContextNoXNameSubMatch() { ExecuteInStaMode.Invoke(() => { // case UnitTest.AutoWireDataContext ==> UnitTest.ViewModels.AutoWireDataContext because (sub match) // !=> UnitTest.ViewModels.AutoWireDataContextViewModel AutoWireDataContext dependencyObject = new AutoWireDataContext(); object dataContext = dependencyObject.DataContext; Assert.Null(dataContext); AutoWireVmDataContext wireProvider = new AutoWireVmDataContext() { UseMaxNameSubMatch = true, ViewModelNamespaceOverwrite = "Abracadabra.Where.It.Placed" }; wireProvider.Execute(dependencyObject); dataContext = dependencyObject.DataContext; Assert.NotNull(dataContext); }); }
public void AutoWireControlsTestButtonICommand2() { ExecuteInStaMode.Invoke(() => { DataContextButonVFM dependencyObject = new DataContextButonVFM(); var viewmodel = new UnitTestMvvmBindingPack.ViewModels.DataContextViewModelButtonT2(); dependencyObject.DataContext = viewmodel; AutoWireViewConrols wireProvider = new AutoWireViewConrols(); dependencyObject.Name = "TestButton2"; wireProvider.FrameworkElementLoaded(dependencyObject, new RoutedEventArgs(FrameworkElement.LoadedEvent)); // // check wiring results of wiring - ICommand interface // viewmodel.ButtonCanExecute = true; var iCmd = dependencyObject.Command; iCmd.Execute(null); Assert.IsTrue(viewmodel.ButtonExecuteCalled, "TestButton ICommand.Execute was not wired to View Model from View"); }); }
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 OwrAutoWireDataContextXNameAlias2() { ExecuteInStaMode.Invoke(() => { // case UnitTest.AliasDataContext !=> UnitTest.ViewModels.AliasDataContext // x:Name=AutoWireAliasDataContext !=> UnitTest.ViewModels.AutoWireAliasDataContext // ==> UnitTest.ViewModels.AutoWireAbracadabraName123 because [ViewModelClassAlias("AutoWireAliasDataContext")] AliasDataContext dependencyObject = new AliasDataContext(); dependencyObject.Name = "AutoWireAliasDataContext"; object dataContext = dependencyObject.DataContext; Assert.Null(dataContext); AutoWireVmDataContext wireProvider = new AutoWireVmDataContext() { ViewModelNamespaceOverwrite = "Abracadabra.Where.It.Placed" }; wireProvider.Execute(dependencyObject); dataContext = dependencyObject.DataContext; Assert.NotNull(dataContext); }); }
public void AutoWireControlsTestButtonProperties() { ExecuteInStaMode.Invoke(() => { DataContextButonVFM dependencyObject = new DataContextButonVFM(); var viewmodel = new UnitTestMvvmBindingPack.ViewModels.DataContextViewModelButtonT2(); dependencyObject.DataContext = viewmodel; AutoWireViewConrols wireProvider = new AutoWireViewConrols(); dependencyObject.Name = "TestButton"; wireProvider.FrameworkElementLoaded(dependencyObject, new RoutedEventArgs(FrameworkElement.LoadedEvent)); // // check wiring results of wiring - PROPERTIES // Assert.AreEqual("Content", dependencyObject.Content, "TestButton.Content was not wired to View Model from View"); Assert.AreEqual("Tag", dependencyObject.Tag, "TestButton.Tag was not wired to View Model from View"); dependencyObject.Tag = "TagTag"; Assert.AreEqual("TagTag", viewmodel._propertyDymanicContent, "TestButton.Tag was not wired to View Model from View"); viewmodel.PropertyDymanicContent = "TagTagTag"; Assert.AreEqual("TagTagTag", dependencyObject.Tag, "TestButton.Tag was not wired to View Model from View"); Assert.AreEqual(123, Grid.GetRow(dependencyObject), "TestButton (Grid.Row) was not wired to View Model from View"); Assert.IsNotNull(viewmodel._Button_Content, "TestButton Content property was not wired to View Model from View"); Assert.IsTrue(viewmodel._Button_Content.IsProperty, "TestButton Content property was not wired to View Model from View"); Assert.AreEqual("Content", viewmodel._Button_Content.GetPropertyValue(), "TestButton Content property was not wired to View Model from View"); Assert.IsNotNull(viewmodel._Button_Tag, "TestButton Tag property was not wired to View Model from View"); Assert.IsTrue(viewmodel._Button_Tag.IsProperty, "TestButton Tag property was not wired to View Model from View"); Assert.AreEqual("TagTagTag", viewmodel._Button_Tag.GetPropertyValue(), "TestButton Tag property was not wired to View Model from View"); Assert.IsNotNull(viewmodel._Button_GridRow, "TestButton (Grid.Row) property was not wired to View Model from View"); Assert.IsTrue(viewmodel._Button_GridRow.IsProperty, "TestButton (Grid.Row) property was not wired to View Model from View"); Assert.AreEqual(123, viewmodel._Button_GridRow.GetPropertyValue(), "TestButton (Grid.Row) property was not wired to View Model from View"); }); }
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)); }); }