コード例 #1
0
        private static CloneModelViewModule DefaultCloneModelViewModule(Action <ITypesInfo> customizeTypesInfo,
                                                                        Platform platform = Platform.Win)
        {
            var cloneModelViewModule = new CloneModelViewModule();

            return(DefaultCloneModelViewModule(cloneModelViewModule, customizeTypesInfo, platform));
        }
コード例 #2
0
        public void Keep_ModelGenerators(CloneViewType cloneViewType)
        {
            var cloneViewId          = $"{nameof(Keep_ModelGenerators)}_{cloneViewType}";
            var cloneModelViewModule = new CloneModelViewModule();

            cloneModelViewModule.RequiredModuleTypes.Add(typeof(ModelViewInheritanceModule));
            using var application = DefaultCloneModelViewModule(cloneModelViewModule, info => {
                var typeInfo = info.FindTypeInfo(typeof(CMV));
                typeInfo.AddAttribute(new CloneModelViewAttribute(cloneViewType, cloneViewId));
                typeInfo.AddAttribute(new ModelMergedDifferencesAttribute(cloneViewId, $"CMV_{cloneViewType}"));
            }, Platform.Win)
                                    .Application;
            ((IModelObjectViewMergedDifferences)application.Model.Views[cloneViewId]).MergedDifferences.Count.ShouldBe(1);
        }
コード例 #3
0
        private static CloneModelViewModule DefaultCloneModelViewModule(Action <ITypesInfo> customizeTypesInfo, Platform platform)
        {
            var application = platform.NewApplication();

            application.WhenCustomizingTypesInfo().FirstAsync()
            .Do(customizeTypesInfo)
            .Subscribe();
            var cloneModelViewModule = new CloneModelViewModule();

            cloneModelViewModule.AdditionalExportedTypes.AddRange(new[] { typeof(CMV) });
            cloneModelViewModule.RequiredModuleTypes.Add(typeof(ReactiveModule));
            application.SetupDefaults(cloneModelViewModule);
            return(cloneModelViewModule);
        }
コード例 #4
0
        private static CloneModelViewModule DefaultCloneModelViewModule(CloneModelViewModule cloneModelViewModule, Action <ITypesInfo> customizeTypesInfo, Platform platform)
        {
            var application = platform.NewApplication <CloneModelViewModule>();

            application.Modules.Add(new ReactiveModule());
            application.WhenCustomizingTypesInfo().FirstAsync(info => {
                customizeTypesInfo(info);
                return(true);
            })
            .Subscribe();


            cloneModelViewModule.RequiredModuleTypes.Add(typeof(ReactiveModule));
            return((CloneModelViewModule)application.AddModule(cloneModelViewModule, null, true, typeof(CMV)));
        }