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 AutoWireDataContextXNameAlias2()
        {
            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();
                wireProvider.Execute(dependencyObject);
                dataContext = dependencyObject.DataContext;
                Assert.NotNull(dataContext);
            });
        }