Inheritance: BaseDataListItemModel, IDataListItemModel
 public static IDataListItemModel CreateDataListModel(string displayname, string description = "", IDataListItemModel parent = null, OptomizedObservableCollection<IDataListItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None)
 {
     IDataListItemModel dataListModel = new DataListItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, hasError, errorMessage, isEditable, isVisable, isSelected);
     if(parent != null && !String.IsNullOrEmpty(displayname))
     {
         dataListModel.Name = parent.DisplayName + "()." + displayname;
     }
     return dataListModel;
 }
Ejemplo n.º 2
0
        public void AddMissingDataListItemsAndThenAddManualy_AddRecordSetWhenDataListContainsRecordsertWithSameName()
        {
            Setup();
            _dataListViewModel.RecsetCollection.Clear();
            _dataListViewModel.ScalarCollection.Clear();

            IList<IDataListVerifyPart> parts = new List<IDataListVerifyPart>();
            var part = new Mock<IDataListVerifyPart>();
            part.Setup(c => c.Recordset).Returns("ab");
            part.Setup(c => c.DisplayValue).Returns("[[ab()]]");
            part.Setup(c => c.Description).Returns("");
            part.Setup(c => c.IsScalar).Returns(false);
            part.Setup(c => c.Field).Returns("");
            parts.Add(part.Object);

            var part2 = new Mock<IDataListVerifyPart>();
            part2.Setup(c => c.Recordset).Returns("ab");
            part2.Setup(c => c.DisplayValue).Returns("[[ab().c]]");
            part2.Setup(c => c.Description).Returns("");
            part2.Setup(c => c.IsScalar).Returns(false);
            part2.Setup(c => c.Field).Returns("c");
            parts.Add(part2.Object);

            _dataListViewModel.AddMissingDataListItems(parts, false);

            IDataListItemModel item = new DataListItemModel("ab().c");
            item.Name = "c";
            item.Parent = _dataListViewModel.RecsetCollection[0];

            _dataListViewModel.RecsetCollection[0].Children.Insert(1, item);

            _dataListViewModel.RemoveBlankRows(item);
            _dataListViewModel.AddRecordsetNamesIfMissing();
            _dataListViewModel.ValidateNames(item);

            Assert.AreEqual(true, _dataListViewModel.RecsetCollection[0].Children[0].HasError);
            Assert.AreEqual(StringResources.ErrorMessageDuplicateValue, _dataListViewModel.RecsetCollection[0].Children[0].ErrorMessage);
            Assert.AreEqual(true, _dataListViewModel.RecsetCollection[0].Children[1].HasError);
            Assert.AreEqual(StringResources.ErrorMessageDuplicateValue, _dataListViewModel.RecsetCollection[0].Children[1].ErrorMessage);
        }
        public void SetUnusedDataListItemsWhenTwoRecsetsSameNameExpectedBothMarkedAsUnused()
        {
            //---------------------------Setup----------------------------------------------------------
            Setup();
            IList<IDataListVerifyPart> parts = new List<IDataListVerifyPart>();
            var part1 = new Mock<IDataListVerifyPart>();
            part1.Setup(c => c.Recordset).Returns("testing");
            part1.Setup(c => c.DisplayValue).Returns("[[testing]]");
            part1.Setup(c => c.Description).Returns("A state in a republic");
            part1.Setup(c => c.IsScalar).Returns(false);
            var part2 = new Mock<IDataListVerifyPart>();
            part2.Setup(c => c.Recordset).Returns("testing");
            part2.Setup(c => c.DisplayValue).Returns("[[testing]]");
            part2.Setup(c => c.Description).Returns("Duplicate testing");
            part2.Setup(c => c.IsScalar).Returns(false);
            parts.Add(part1.Object);
            parts.Add(part2.Object);

            IDataListItemModel mod = new DataListItemModel("testing");
            mod.Children.Add(new DataListItemModel("f1", parent: mod));
            IDataListItemModel mod2 = new DataListItemModel("testing");
            mod2.Children.Add(new DataListItemModel("f2", parent: mod2));

            _dataListViewModel.RecsetCollection.Add(mod);
            _dataListViewModel.RecsetCollection.Add(mod2);

            //-------------------------Execute Test ------------------------------------------
            _dataListViewModel.SetIsUsedDataListItems(parts, false);
            //-------------------------Assert Resule------------------------------------------
            int actual = _dataListViewModel.DataList.Count(model => !model.IsUsed && model.IsRecordset);
            Assert.AreEqual(2, actual);
        }
        IDataListItemModel SetupForValidateNamesDuplicateScalarTests()
        {
            Setup();
            _dataListViewModel.RecsetCollection.Clear();
            _dataListViewModel.ScalarCollection.Clear();



            IDataListItemModel item = new DataListItemModel("ab");
            item.Name = "ab";
            _dataListViewModel.ScalarCollection.Insert(0, item);
            return item;
        }
        IDataListItemModel SetupForValidateNamesDuplicateRecordSetFieldsTests()
        {
            Setup();
            _dataListViewModel.RecsetCollection.Clear();
            _dataListViewModel.ScalarCollection.Clear();

            IList<IDataListVerifyPart> parts = new List<IDataListVerifyPart>();
            var part = new Mock<IDataListVerifyPart>();
            part.Setup(c => c.Recordset).Returns("ab");
            part.Setup(c => c.DisplayValue).Returns("[[ab()]]");
            part.Setup(c => c.Description).Returns("");
            part.Setup(c => c.IsScalar).Returns(false);
            part.Setup(c => c.Field).Returns("");
            parts.Add(part.Object);

            var part2 = new Mock<IDataListVerifyPart>();
            part2.Setup(c => c.Recordset).Returns("ab");
            part2.Setup(c => c.DisplayValue).Returns("[[ab().c]]");
            part2.Setup(c => c.Description).Returns("");
            part2.Setup(c => c.IsScalar).Returns(false);
            part2.Setup(c => c.Field).Returns("c");
            parts.Add(part2.Object);

            _dataListViewModel.AddMissingDataListItems(parts, false);

            IDataListItemModel item = new DataListItemModel("ab().c");
            item.Name = "c";
            item.Parent = _dataListViewModel.RecsetCollection[0];
            return item;
        }
 public void DataListViewModel_SearchText_MatchingScalars_ShouldSetScalarVisible()
 {
     //------------Setup for test--------------------------
     var dataListViewModel = new DataListViewModel(new Mock<IEventAggregator>().Object);
     const string scalarName = "scalar";
     var scalarItem = new DataListItemModel(scalarName) { IsVisable = false };
     dataListViewModel.ScalarCollection.Add(scalarItem);
     //------------Execute Test---------------------------
     dataListViewModel.SearchText = "sca";
     //------------Assert Results-------------------------
     Assert.IsTrue(dataListViewModel.ScalarCollection[0].IsVisable);
 }
 public static IDataListItemModel CreateDataListModel(string displayname, string description, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None, IDataListItemModel parent = null, OptomizedObservableCollection<IDataListItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false)
 {
     IDataListItemModel dataListModel = new DataListItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, hasError, errorMessage, isEditable, isVisable, isSelected);
     return dataListModel;
 }
Ejemplo n.º 8
0
        public void AddMissingDataListItemsWithUnusedDataListItemsExpectedItemsToBeSetToNotUsed()
        {
            var eventAggregator = new Mock<IEventAggregator>().Object;

            Mock<IContextualResourceModel> mockResourceModel = Dev2MockFactory.SetupResourceModelMock();
            mockResourceModel.Setup(resModel => resModel.WorkflowXaml).Returns(GetAddMissingWorkflowXml());

            var dataListViewModel = CreateDataListViewModel(mockResourceModel, eventAggregator);
            var dataListItems = new OptomizedObservableCollection<IDataListItemModel>();
            IDataListItemModel dataListItem = new DataListItemModel("scalar1", enDev2ColumnArgumentDirection.Input, string.Empty);
            IDataListItemModel secondDataListItem = new DataListItemModel("scalar2", enDev2ColumnArgumentDirection.Input, string.Empty);

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

            DataListSingleton.SetDataList(dataListViewModel);
            Mock<IPopupController> mockPopUp = Dev2MockFactory.CreateIPopup(MessageBoxResult.Yes);

            dataListViewModel.ScalarCollection.Clear();
            dataListViewModel.RecsetCollection.Clear();
            dataListItems.ToList().ForEach(dataListViewModel.ScalarCollection.Add);
            WorkflowDesignerViewModel workflowDesigner = CreateWorkflowDesignerViewModel(eventAggregator, mockResourceModel.Object, null, false);
            workflowDesigner.PopUp = mockPopUp.Object;

            workflowDesigner.AddMissingWithNoPopUpAndFindUnusedDataListItems();
            Assert.AreEqual(2, dataListViewModel.ScalarCollection.Count);
            Assert.AreEqual(0, dataListViewModel.RecsetCollection.Count);
            workflowDesigner.Dispose();
        }
Ejemplo n.º 9
0
        public void SetModelToDirtyAndExpectThatItemsWillBeAdded()
        {
            var eventAggregator = new EventAggregator();

            Mock<IContextualResourceModel> mockResourceModel = Dev2MockFactory.SetupResourceModelMock();
            mockResourceModel.Setup(resModel => resModel.WorkflowXaml).Returns(WorkflowXAMLForTest());

            var dataListViewModel = CreateDataListViewModel(mockResourceModel, eventAggregator);
            var dataListItems = new OptomizedObservableCollection<IDataListItemModel>();
            IDataListItemModel dataListItem = new DataListItemModel("scalar1", enDev2ColumnArgumentDirection.Input, string.Empty);
            IDataListItemModel secondDataListItem = new DataListItemModel("scalar2", enDev2ColumnArgumentDirection.Input, string.Empty);

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

            DataListSingleton.SetDataList(dataListViewModel);

            dataListItems.ToList().ForEach(dataListViewModel.ScalarCollection.Add);
            dataListViewModel.RecsetCollection.Clear();
            WorkflowDesignerViewModel workflowDesigner = CreateWorkflowDesignerViewModel(eventAggregator, mockResourceModel.Object, null, false);
            workflowDesigner.DispatcherUpdateAction = (a => DataListSingleton.ActiveDataList.UpdateDataListItems(workflowDesigner.ResourceModel, a));
            IDataListItemModel dataListItem3 = new DataListItemModel("scalar8", enDev2ColumnArgumentDirection.Input, string.Empty);
            workflowDesigner.ChangeIsPossible = true;

            dataListItems.Add(dataListItem3);
            Thread.Sleep(3000);
            workflowDesigner.Dispose();
            Assert.AreEqual(5, dataListViewModel.ScalarCollection.Count);
        }
 public void DataListViewModel_HasErrors_ItemHasInvalidChar_ErrorNotRemovedFromDuplicateCheck()
 {
     //------------Setup for test--------------------------
     var dataListViewModel = new DataListViewModel();
     IDataListItemModel dataListItemModel = new DataListItemModel("test@");
     dataListItemModel.HasError = true;
     dataListItemModel.ErrorMessage = StringResources.ErrorMessageInvalidChar;
     dataListViewModel.ScalarCollection.Add(dataListItemModel);
     //------------Execute Test---------------------------
     dataListViewModel.ValidateNames(dataListItemModel);
     //------------Assert Results-------------------------
     Assert.IsTrue(dataListViewModel.HasErrors);
     StringAssert.Contains(dataListViewModel.DataListErrorMessage, dataListItemModel.ErrorMessage);
 }
 public void DataListViewModel_ValidateNames_ItemHasInvalidChar_ErrorNotRemovedFromDuplicateCheck()
 {
     //------------Setup for test--------------------------
     var dataListViewModel = new DataListViewModel();
     IDataListItemModel dataListItemModel = new DataListItemModel("test@");
     dataListItemModel.HasError = true;
     dataListItemModel.ErrorMessage = StringResources.ErrorMessageInvalidChar;
     //------------Execute Test---------------------------
     dataListViewModel.ValidateNames(dataListItemModel);
     //------------Assert Results-------------------------
     Assert.AreEqual(StringResources.ErrorMessageInvalidChar, dataListItemModel.ErrorMessage);
 }
Ejemplo n.º 12
0
 public void SetName_XmlEscapeCharactersInName_Expected_ValidationErrorMessageOnNameSet()
 {
     IDataListItemModel dataListItemModel = new DataListItemModel("MyDisplayName");
     dataListItemModel.DisplayName = "UnitTestWith<>";
     Assert.IsTrue(!string.IsNullOrEmpty(dataListItemModel.ErrorMessage));
 }
Ejemplo n.º 13
0
 public void SetName_ValidName_Expected_NoValidationErrorMessageOnNameSet()
 {
     IDataListItemModel dataListItemModel = new DataListItemModel("MyDisplayName");
     dataListItemModel.DisplayName = "UnitTestDisplayName";
     Assert.IsTrue(string.IsNullOrEmpty(dataListItemModel.ErrorMessage));
 }
Ejemplo n.º 14
0
 public void SetName_InvalidName_Expected_ValidationErrorMessageOnNameSet()
 {
     IDataListItemModel dataListItemModel = new DataListItemModel("MyDisplayName");
     dataListItemModel.DisplayName = "UnitTestWith&amp;&lt;&gt;&quot;&apos;";
     Assert.IsTrue(!string.IsNullOrEmpty(dataListItemModel.ErrorMessage));
 }
        public void DataListViewModel_HasErrors_FieldNamesDuplicated_HasErrorsTrue()
        {
            //------------Setup for test--------------------------
            Setup();
            _dataListViewModel.RecsetCollection.Clear();
            _dataListViewModel.ScalarCollection.Clear();

            IList<IDataListVerifyPart> parts = new List<IDataListVerifyPart>();
            var part = new Mock<IDataListVerifyPart>();
            part.Setup(c => c.Recordset).Returns("ab");
            part.Setup(c => c.DisplayValue).Returns("[[ab()]]");
            part.Setup(c => c.Description).Returns("");
            part.Setup(c => c.IsScalar).Returns(false);
            part.Setup(c => c.Field).Returns("");
            parts.Add(part.Object);

            var part2 = new Mock<IDataListVerifyPart>();
            part2.Setup(c => c.Recordset).Returns("ab");
            part2.Setup(c => c.DisplayValue).Returns("[[ab().c]]");
            part2.Setup(c => c.Description).Returns("");
            part2.Setup(c => c.IsScalar).Returns(false);
            part2.Setup(c => c.Field).Returns("c");
            parts.Add(part2.Object);

            _dataListViewModel.AddMissingDataListItems(parts, false);

            IDataListItemModel item = new DataListItemModel("ab().c");
            item.Name = "c";
            item.Parent = _dataListViewModel.RecsetCollection[0];

            _dataListViewModel.RecsetCollection[0].Children.Insert(1, item);

            _dataListViewModel.RemoveBlankRows(item);
            _dataListViewModel.AddRecordsetNamesIfMissing();
            //------------Execute Test---------------------------
            _dataListViewModel.ValidateNames(item);
            //------------Assert Results-------------------------
            Assert.IsTrue(_dataListViewModel.HasErrors);
            StringAssert.Contains(_dataListViewModel.DataListErrorMessage, _dataListViewModel.RecsetCollection[0].Children[0].ErrorMessage);
            StringAssert.Contains(_dataListViewModel.DataListErrorMessage, _dataListViewModel.RecsetCollection[0].Children[1].ErrorMessage);
        }
Ejemplo n.º 16
0
        public void RemoveAllUnusedDataListObjectsWithItemsNotUsedExpectedItemsRemoved()
        {
            var eventAggregator = new EventAggregator();

            Mock<IContextualResourceModel> mockResourceModel = Dev2MockFactory.SetupResourceModelMock();
            mockResourceModel.Setup(resModel => resModel.WorkflowXaml).Returns(WorkflowXAMLForTest());

            var dataListViewModel = CreateDataListViewModel(mockResourceModel, eventAggregator);
            var dataListItems = new OptomizedObservableCollection<IDataListItemModel>();
            IDataListItemModel dataListItem = new DataListItemModel("scalar1", enDev2ColumnArgumentDirection.Input, string.Empty);
            IDataListItemModel secondDataListItem = new DataListItemModel("scalar2", enDev2ColumnArgumentDirection.Input, string.Empty);

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

            DataListSingleton.SetDataList(dataListViewModel);

            dataListItems.ToList().ForEach(dataListViewModel.ScalarCollection.Add);
            dataListViewModel.RecsetCollection.Clear();
            WorkflowDesignerViewModel workflowDesigner = CreateWorkflowDesignerViewModel(eventAggregator, mockResourceModel.Object, null, false);
            workflowDesigner.DispatcherUpdateAction = (a => DataListSingleton.ActiveDataList.UpdateDataListItems(workflowDesigner.ResourceModel, a));
            workflowDesigner.AddMissingWithNoPopUpAndFindUnusedDataListItems();
            dataListViewModel.RemoveUnusedDataListItems();
            workflowDesigner.Dispose();
            Assert.AreEqual(0, dataListViewModel.ScalarCollection.Count);
        }
 public void DataListViewModel_RemoveDataListItem_WithScalarItem_ShouldRemoveFromScalarCollection()
 {
     //------------Setup for test--------------------------
     var dataListViewModel = new DataListViewModel(new Mock<IEventAggregator>().Object);
     var scalarItem = new DataListItemModel("scalar");
     dataListViewModel.ScalarCollection.Add(scalarItem);
     //----------------------Precondition----------------------------
     Assert.AreEqual(1, dataListViewModel.ScalarCollection.Count);
     //------------Execute Test---------------------------
     dataListViewModel.RemoveDataListItem(scalarItem);
     //------------Assert Results-------------------------
     Assert.AreEqual(0, dataListViewModel.ScalarCollection.Count);
 }
Ejemplo n.º 18
0
        public void FindUnusedDataListItemsWithUnusedDataListItemsExpectedItemsToBeSetToNotUsed()
        {
            var eventAggregator = new EventAggregator();

            Mock<IContextualResourceModel> mockResourceModel = Dev2MockFactory.SetupResourceModelMock();
            mockResourceModel.Setup(resModel => resModel.WorkflowXaml).Returns(WorkflowXAMLForTest());

            var dataListViewModel = CreateDataListViewModel(mockResourceModel, eventAggregator);
            var dataListItems = new OptomizedObservableCollection<IDataListItemModel>();
            IDataListItemModel dataListItem = new DataListItemModel("scalar1", enDev2ColumnArgumentDirection.Input, string.Empty);
            IDataListItemModel secondDataListItem = new DataListItemModel("scalar2", enDev2ColumnArgumentDirection.Input, string.Empty);

            dataListItems.Add(dataListItem);
            dataListItems.Add(secondDataListItem);
            DataListSingleton.SetDataList(dataListViewModel);
            Mock<IPopupController> mockPopUp = Dev2MockFactory.CreateIPopup(MessageBoxResult.Yes);

            dataListItems.ToList().ForEach(dataListViewModel.ScalarCollection.Add);
            dataListViewModel.RecsetCollection.Clear();
            WorkflowDesignerViewModel workflowDesigner = CreateWorkflowDesignerViewModelWithDesignerAttributesInitialized(mockResourceModel.Object, eventAggregator);
            workflowDesigner.PopUp = mockPopUp.Object;
            //  workflowDesigner.MediatorRepo = _mockMediatorRepo.Object;

            Assert.IsTrue(dataListViewModel.ScalarCollection[0].IsUsed);
            Assert.IsTrue(dataListViewModel.ScalarCollection[1].IsUsed);

            workflowDesigner.AddMissingWithNoPopUpAndFindUnusedDataListItems();
            workflowDesigner.Dispose();
            Assert.IsTrue(!dataListViewModel.ScalarCollection[0].IsUsed);
        }
 public void DataListViewModel_MissingDataListParts_ScalarPartInDataList_ShouldNotReturnPartInList()
 {
     //------------Setup for test--------------------------
     var dataListViewModel = new DataListViewModel(new Mock<IEventAggregator>().Object);
     const string scalarName = "scalar";
     var scalarItem = new DataListItemModel(scalarName);
     dataListViewModel.ScalarCollection.Add(scalarItem);
     var parts = new List<IDataListVerifyPart> { CreateScalarPart(scalarName).Object };
     //----------------------Precondition----------------------------
     Assert.AreEqual(1, dataListViewModel.ScalarCollection.Count);
     //------------Execute Test---------------------------
     List<IDataListVerifyPart> missingDataListParts = dataListViewModel.MissingDataListParts(parts);
     //------------Assert Results-------------------------
     Assert.AreEqual(0, missingDataListParts.Count);
 }
Ejemplo n.º 20
0
        public void GetDecisionElementsWhenItemAlreadyInDataListShouldNotReturnRecsetIfScalarNonExistent()
        {
            //Execute
            Mock<IContextualResourceModel> resourceModel = Dev2MockFactory.ResourceModel;
            var eventAggregator = new EventAggregator();

            var model = CreateWorkflowDesignerViewModel(eventAggregator, resourceModel.Object, null, false);
            var dataListViewModel = new DataListViewModel();

            dataListViewModel.InitializeDataListViewModel(resourceModel.Object);

            var recsetModel = new DataListItemModel("RecSet");
            dataListViewModel.RecsetCollection.Add(recsetModel);
            dataListViewModel.RecsetCollection[2].Children.Add(new DataListItemModel("aasszzz", parent: recsetModel));
            const string expression = "Dev2.Data.Decision.Dev2DataListDecisionHandler.Instance.ExecuteDecisionStack(\"{!TheStack!:[{!Col1!:![[a]]!,!Col2!:!Is Equal!,!Col3!:!0!,!PopulatedColumnCount!:2,!EvaluationFn!:!IsEqual!}],!TotalDecisions!:1,!ModelName!:!Dev2DecisionStack!,!Mode!:!AND!,!TrueArmText!:!True!,!FalseArmText!:!False!,!DisplayText!:!If ]] Is Equal [[scalar]]!}\",AmbientDataList)";
            var actual = model.GetDecisionElements(expression, dataListViewModel);
            model.Dispose();
            //Assert
            Assert.AreEqual(1, actual.Count, "Find missing returned an unexpected number of results when finding variables in a decision");
            Assert.AreEqual("{!TheStack!:[{!Col1!:!a!,!Col2!:!Is Equal!,!Col3!:!0!,!PopulatedColumnCount!:2,!EvaluationFn!:!IsEqual!}],!TotalDecisions!:1,!ModelName!:!Dev2DecisionStack!,!Mode!:!AND!,!TrueArmText!:!True!,!FalseArmText!:!False!,!DisplayText!:!If  Is Equal scalar!}", actual[0], "Find missing found an invalid variable in a decision");
        }
 public void DataListViewModel_UpdateDataListItems_NoMissingScalarWorkflowItems_ShouldMarkScalarValuesUsedTrue()
 {
     //------------Setup for test--------------------------
     IResourceModel resourceModel = new Mock<IResourceModel>().Object;
     var dataListViewModel = new DataListViewModel(new Mock<IEventAggregator>().Object);
     dataListViewModel.InitializeDataListViewModel(resourceModel);
     const string scalarName = "scalar";
     var scalarItem = new DataListItemModel(scalarName) { IsUsed = false };
     dataListViewModel.ScalarCollection.Add(scalarItem);
     var parts = new List<IDataListVerifyPart> { CreateScalarPart(scalarName).Object };
     //------------Execute Test---------------------------
     dataListViewModel.UpdateDataListItems(resourceModel, parts);
     //------------Assert Results-------------------------
     Assert.IsTrue(dataListViewModel.ScalarCollection[0].IsUsed);
 }