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