public void DotNetConstructorInputRegion_SourceChanged_UpdateValues() { //------------Setup for test-------------------------- var id = Guid.NewGuid(); var act = new DsfEnhancedDotNetDllActivity() { SourceId = id }; var src = new Mock <IPluginServiceModel>(); var lst = new ObservableCollection <IPluginSource>() { new PluginSourceDefinition() { Name = "bravo" }, new PluginSourceDefinition() { Name = "johnny" } }; src.Setup(a => a.RetrieveSources()).Returns(lst); var sourceRegion = new DotNetSourceRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity())); var nameSpace = new Mock <INamespaceToolRegion <INamespaceItem> >(); var DotNetConstructorRegion = new DotNetConstructorRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity()), sourceRegion, nameSpace.Object); var region = new DotNetConstructorInputRegion(ModelItemUtils.CreateModelItem(act), DotNetConstructorRegion); sourceRegion.SelectedSource = lst[0]; Assert.AreEqual(region.Inputs.Count, 0); }
public void DotNetConstructorInputRegion_TestClone() { var id = Guid.NewGuid(); var act = new DsfEnhancedDotNetDllActivity() { SourceId = id }; var src = new Mock <IPluginServiceModel>(); var nameSpace = new Mock <INamespaceToolRegion <INamespaceItem> >(); src.Setup(a => a.RetrieveSources()).Returns(new ObservableCollection <IPluginSource>()); DotNetSourceRegion sourceRegion = new DotNetSourceRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity())); DotNetConstructorRegion DotNetConstructorRegion = new DotNetConstructorRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity()), sourceRegion, nameSpace.Object); var region = new DotNetConstructorInputRegion(ModelItemUtils.CreateModelItem(act), DotNetConstructorRegion); Assert.AreEqual(region.IsEnabled, false); Assert.AreEqual(region.Errors.Count, 0); var clone = region.CloneRegion() as DotNetConstructorInputRegion; if (clone != null) { Assert.AreEqual(clone.IsEnabled, false); Assert.AreEqual(clone.Errors.Count, 0); } }
public void DotNetConstructorInputRegion_Test_InputAddHeader_ExpectHeightChangesPastThree() { var id = Guid.NewGuid(); var act = new DsfEnhancedDotNetDllActivity() { SourceId = id }; var src = new Mock <IPluginServiceModel>(); src.Setup(a => a.RetrieveSources()).Returns(new ObservableCollection <IPluginSource>()); var sourceRegion = new DotNetSourceRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity())); var nameSpace = new Mock <INamespaceToolRegion <INamespaceItem> >(); var DotNetConstructorRegion = new DotNetConstructorRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity()), sourceRegion, nameSpace.Object); var region = new DotNetConstructorInputRegion(ModelItemUtils.CreateModelItem(act), DotNetConstructorRegion); Assert.AreEqual(region.IsEnabled, false); }
public void DotNetConstructorInputRegion_RestoreFromPrevious_Restore_ExpectValuesChanged() { //------------Setup for test-------------------------- var id = Guid.NewGuid(); var act = new DsfEnhancedDotNetDllActivity() { SourceId = id }; var src = new Mock <IPluginServiceModel>(); src.Setup(a => a.RetrieveSources()).Returns(new ObservableCollection <IPluginSource>()); var nameSpace = new Mock <INamespaceToolRegion <INamespaceItem> >(); var sourceRegion = new DotNetSourceRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity())); var DotNetConstructorRegion = new DotNetConstructorRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfEnhancedDotNetDllActivity()), sourceRegion, nameSpace.Object); var region = new DotNetConstructorInputRegion(ModelItemUtils.CreateModelItem(act), DotNetConstructorRegion); var regionToRestore = new DotNetConstructorInputRegionClone(); regionToRestore.IsEnabled = true; //------------Execute Test--------------------------- region.RestoreRegion(regionToRestore as IToolRegion); //------------Assert Results------------------------- }
public override IList <IToolRegion> BuildRegions() { IList <IToolRegion> regions = new List <IToolRegion>(); if (SourceRegion == null) { SourceRegion = new DotNetSourceRegion(Model, ModelItem) { SourceChangedAction = () => { if (OutputsRegion != null) { OutputsRegion.IsEnabled = false; OutputsRegion.IsObject = true; OutputsRegion.IsOutputsEmptyRows = true; } ClearToolRegionErrors(); } }; regions.Add(SourceRegion); NamespaceRegion = new DotNetNamespaceRegion(Model, ModelItem, SourceRegion) { SourceChangedNamespace = () => { if (OutputsRegion != null) { OutputsRegion.IsEnabled = true; OutputsRegion.IsObject = true; OutputsRegion.IsOutputsEmptyRows = true; } ClearToolRegionErrors(); }, IsNewPluginNamespace = true }; NamespaceRegion.SomethingChanged += (sender, args) => { if (args.Errors != null) { Errors = args.Errors.Select(e => new ActionableErrorInfo { ErrorType = ErrorType.Critical, Message = e } as IActionableErrorInfo).ToList(); } var dotNetNamespaceRegion = sender as DotNetNamespaceRegion; var outputsRegion = dotNetNamespaceRegion?.Dependants.Single(region => region is OutputsRegion) as OutputsRegion; if (outputsRegion != null) { if (dotNetNamespaceRegion.SelectedNamespace != null) { outputsRegion.ObjectResult = dotNetNamespaceRegion.SelectedNamespace.JsonObject; } } OnPropertyChanged("IsActionsVisible"); }; regions.Add(NamespaceRegion); ConstructorRegion = new DotNetConstructorRegion(Model, ModelItem, SourceRegion, NamespaceRegion) { SourceChangedAction = () => { if (OutputsRegion != null) { OutputsRegion.IsEnabled = true; OutputsRegion.IsObject = true; OutputsRegion.IsOutputsEmptyRows = !string.IsNullOrWhiteSpace(OutputsRegion.ObjectResult); } //ClearToolRegionErrors(); } }; ConstructorRegion.SomethingChanged += (sender, args) => { OnPropertyChanged("IsConstructorVisible"); }; ConstructorRegion.ErrorsHandler += (sender, list) => { List <ActionableErrorInfo> errorInfos = list.Select(error => new ActionableErrorInfo(new ErrorInfo { ErrorType = ErrorType.Critical, Message = error }, () => { })).ToList(); UpdateDesignValidationErrors(errorInfos); Errors = new List <IActionableErrorInfo>(errorInfos); }; regions.Add(ConstructorRegion); InputArea = new DotNetConstructorInputRegion(ModelItem, ConstructorRegion); regions.Add(InputArea); OutputsRegion = new OutputsRegion(ModelItem, true) { IsObject = true, IsEnabled = false }; regions.Add(OutputsRegion); var pluginActions = ModelItem.GetProperty <List <IPluginAction> >("MethodsToRun"); var regionCollections = BuildRegionsFromActions(pluginActions); if (regionCollections.Any()) { MethodsToRunList = regionCollections; CreateMethodRegion(); } else { CreateMethodRegion(); } ErrorRegion = new ErrorRegion(); regions.Add(ErrorRegion); SourceRegion.Dependants.Add(NamespaceRegion); NamespaceRegion.Dependants.Add(ConstructorRegion); NamespaceRegion.Dependants.Add(OutputsRegion); ConstructorRegion.Dependants.Add(InputArea); ConstructorRegion.Dependants.Add(OutputsRegion); OutputsRegion.Dependants.Add(ConstructorRegion); } Regions = regions; return(regions); }