コード例 #1
0
        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);
        }
コード例 #2
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);
            }
        }
コード例 #3
0
        public void DotNetConstructorInputRegion_Constructor_TestInput_ConstructorEmpty()
        {
            var src = new Mock <IPluginServiceModel>();

            src.Setup(a => a.RetrieveSources()).Returns(new ObservableCollection <IPluginSource>());

            var region = new DotNetConstructorInputRegion();

            Assert.AreEqual(region.IsEnabled, false);
        }
コード例 #4
0
        public void UpdateOnActionSelection_GivenHasInputs_ShouldWriteToActiveDatalistAndPopulatesInputValues()
        {
            //---------------Set up test pack-------------------
            var eventAggregator = new Mock <IEventAggregator>();

            var mockResourceModel = Dev2MockFactory.SetupResourceModelMock();

            mockResourceModel.Setup(resModel => resModel.WorkflowXaml).Returns(WorkflowXAMLForTest());

            var dataListViewModel  = CreateDataListViewModel(mockResourceModel, eventAggregator.Object);
            var dataListItems      = new OptomizedObservableCollection <IScalarItemModel>();
            var dataListItem       = new ScalarItemModel("scalar1", enDev2ColumnArgumentDirection.Input);
            var secondDataListItem = new ScalarItemModel("scalar2", enDev2ColumnArgumentDirection.Input);

            dataListItems.Add(dataListItem);
            dataListItems.Add(secondDataListItem);

            DataListSingleton.SetDataList(dataListViewModel);



            var id  = Guid.NewGuid();
            var act = new DsfEnhancedDotNetDllActivity()
            {
                SourceId = id
            };
            var modelItem    = ModelItemUtils.CreateModelItem(act);
            var actionRegion = new Mock <IConstructorRegion <IPluginConstructor> >();

            actionRegion.Setup(region => region.SelectedConstructor).Returns(ValueFunction);

            //---------------Assert Precondition----------------

            var countBefore = DataListSingleton.ActiveDataList.ScalarCollectionCount;

            Assert.AreEqual(4, countBefore);
            //---------------Execute Test ----------------------
            var inputRegion = new DotNetConstructorInputRegion(modelItem, actionRegion.Object);

            var methodInfo = typeof(DotNetConstructorInputRegion).GetMethod("UpdateOnActionSelection", BindingFlags.NonPublic | BindingFlags.Instance);

            Assert.IsNotNull(methodInfo);
            methodInfo.Invoke(inputRegion, new object[] { });
            //---------------Test Result -----------------------
            Assert.AreEqual("[[name]]", inputRegion.Inputs.ToList()[0].Name);
            Assert.AreEqual("[[surname]]", inputRegion.Inputs.ToList()[1].Name);
        }
コード例 #5
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);
        }
コード例 #6
0
        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-------------------------
        }
コード例 #7
0
        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);
        }