private static CloneModelViewModule DefaultCloneModelViewModule(Action <ITypesInfo> customizeTypesInfo, Platform platform = Platform.Win) { var cloneModelViewModule = new CloneModelViewModule(); return(DefaultCloneModelViewModule(cloneModelViewModule, customizeTypesInfo, platform)); }
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); }
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); }
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))); }