Пример #1
0
        public void DataMergeDTO_CanAdd_WithNoInputVarAndNoAt_ReturnFalse()
        {
            //------------Setup for test--------------------------
            //------------Execute Test---------------------------
            var dataMergeDTO = new DataMergeDTO(string.Empty, null, null, 1, null, null);

            //------------Assert Results-------------------------
            Assert.IsFalse(dataMergeDTO.CanAdd());
        }
Пример #2
0
        public void DataMergeDTO_CanAdd_WithIndexMergeTypeAndNoOtherValues_ReturnFalse()
        {
            //------------Setup for test--------------------------
            //------------Execute Test---------------------------
            var dataMergeDTO = new DataMergeDTO(string.Empty, "Index", null, 1, null, null);

            //------------Assert Results-------------------------
            Assert.IsFalse(dataMergeDTO.CanAdd());
        }
Пример #3
0
        public void DataMergeDTO_CanAdd_WithNoInputVarButValueForAt_ReturnTrue()
        {
            //------------Setup for test--------------------------
            //------------Execute Test---------------------------
            var dataMergeDTO = new DataMergeDTO(string.Empty, null, "|", 1, null, null);

            //------------Assert Results-------------------------
            Assert.IsTrue(dataMergeDTO.CanAdd());
        }
Пример #4
0
        public void DataMergeDTO_CanRemove_WithNewLineInputTypeAndVar_ReturnFalse()
        {
            //------------Setup for test--------------------------
            //------------Execute Test---------------------------
            var dataMergeDTO = new DataMergeDTO("s", "NewLine", null, 1, null, null);

            //------------Assert Results-------------------------
            Assert.IsFalse(dataMergeDTO.CanRemove());
        }
Пример #5
0
        public void DataMergeDTO_GetRuleSet_IsEmptyIsTrue_ValidateRulesReturnsTrue()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO();

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "Padding", null);
            Verify_RuleSet(dto, "At", null);
        }
Пример #6
0
        public void DataMergeDTO_GetRuleSet_AtIsNotPositiveNumber_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[a]]", At = "-1"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "At", Warewolf.Resource.Errors.ErrorResource.MustBeRealNumber);
        }
Пример #7
0
        public void DataMergeDTO_GetRuleSet_AtIsNullOrEmpty_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[a]]", At = ""
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "At", Warewolf.Resource.Errors.ErrorResource.CannotBeNull);
        }
Пример #8
0
        public void DataMergeDTO_GetRuleSet_AtExpressionIsValid_ValidateRulesReturnsTrue()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[a]]", At = "[[h]]"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "At", null);
        }
Пример #9
0
        public void DataMergeDTO_GetRuleSet_AtExpressionIsInvalid_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[a]]", At = "h]]"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "At", "Result - Invalid expression: opening and closing brackets don't match");
        }
Пример #10
0
        public void DataMergeDTO_GetRuleSet_PaddingIsEmpty_ValidateRulesReturnsTrue()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                Padding = "", At = "1"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "Padding", null);
        }
Пример #11
0
        public void DataMergeDTO_GetRuleSet_PaddingIsNotSingleChar_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                Padding = "aa", At = "1"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "Padding", "Must be a single character");
        }
Пример #12
0
        public void DataMergeDTO_GetRuleSet_AtIsPositiveNumber_ValidateRulesReturnsTrue()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[a]]", At = "1"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "At", null);
        }
Пример #13
0
        public void DataMergeDTO_GetRuleSetOutputVariable_ExpressionIsInvalid_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[ddd&]]", MergeType = DataMergeDTO.MergeTypeNone, Alignment = "Right", At = "1", Padding = " "
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "Input", "Variable name [[ddd&]] contains invalid character(s). Only use alphanumeric _ and - ");
        }
Пример #14
0
        public void DataMergeDTO_GetRuleSet_AtIsNotPositiveNumber_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[a]]", At = "-1"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "At", "must be a real number");
        }
Пример #15
0
        public void DataMergeDTO_GetRuleSet_AtIsNullOrEmpty_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "[[a]]", At = ""
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "At", "cannot be empty");
        }
Пример #16
0
        public void DataMergeDTO_GetRuleSet_PaddingExpressionIsInvalid_ValidateRulesReturnsFalse()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                Padding = "h]]", At = "1"
            };

            //------------Execute Test---------------------------
            Verify_RuleSet(dto, "Padding", "Invalid expression: opening and closing brackets don't match");
        }
Пример #17
0
        public void DataMergeDTO_IsEmpty_PropertiesAreNotEmpty_False()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "xxx"
            };

            //------------Execute Test---------------------------
            var actual = dto.IsEmpty();

            //------------Assert Results-------------------------
            Assert.IsFalse(actual);
        }
Пример #18
0
        void Verify_IsEmpty(string mergeType)
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                MergeType = mergeType
            };

            //------------Execute Test---------------------------
            var actual = dto.IsEmpty();

            //------------Assert Results-------------------------
            Assert.IsTrue(actual);
        }
Пример #19
0
        public void DataMergeDTO_Constructor_FullConstructor_DefaultValues()
        {
            //------------Setup for test--------------------------
            //------------Execute Test---------------------------
            var dataMergeDTO = new DataMergeDTO(string.Empty, null, null, 1, null, null);

            //------------Assert Results-------------------------
            Assert.AreEqual("Index", dataMergeDTO.MergeType);
            Assert.AreEqual(string.Empty, dataMergeDTO.At);
            Assert.AreEqual(1, dataMergeDTO.IndexNumber);
            Assert.AreEqual(string.Empty, dataMergeDTO.Padding);
            Assert.AreEqual("Left", dataMergeDTO.Alignment);
            Assert.IsNotNull(dataMergeDTO.Errors);
        }
Пример #20
0
        public void DataMergeDTO_ClearRow_PropertiesAreEmpty()
        {
            //------------Setup for test--------------------------
            var dto = new DataMergeDTO {
                InputVariable = "xxx", MergeType = DataMergeDTO.MergeTypeNone, Alignment = "Right", At = "1", Padding = " "
            };

            Assert.IsFalse(dto.IsEmpty());

            //------------Execute Test---------------------------
            dto.ClearRow();

            //------------Assert Results-------------------------
            Assert.IsTrue(dto.IsEmpty());
        }
Пример #21
0
        static void Verify_RuleSet(DataMergeDTO dto, string propertyName, string expectedErrorMessage)
        {
            const string trueString = "True";
            const string noneString = "None";
            var          datalist   = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);

            //------------Execute Test---------------------------
            var ruleSet = dto.GetRuleSet(propertyName, datalist);
            var errors  = ruleSet.ValidateRules(null, null);

            //------------Assert Results-------------------------
            if (expectedErrorMessage == null)
            {
                Assert.AreEqual(0, errors.Count);
            }
            else
            {
                var err = errors.FirstOrDefault(e => e.Message.Contains(expectedErrorMessage));
                Assert.IsNotNull(err);
            }
        }
        public void DataMergeDesignerViewModel_ValidateCollectionItem_ValidatesPropertiesOfDTO()
        {
            //------------Setup for test--------------------------
            var mi = ModelItemUtils.CreateModelItem(new DsfDataMergeActivity());

            mi.SetProperty("DisplayName", "Merge");

            var dto = new DataMergeDTO("a&]]", DataMergeDTO.MergeTypeIndex, "", 0, "ab", "Left");


            var miCollection = mi.Properties["MergeCollection"].Collection;
            var dtoModelItem = miCollection.Add(dto);


            var viewModel = new DataMergeDesignerViewModel(mi);

            viewModel._getDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var          datalist   = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return(datalist);
            };

            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.AreEqual(4, viewModel.Errors.Count);

            StringAssert.Contains(viewModel.Errors[0].Message, Warewolf.Resource.Errors.ErrorResource.DataMergeInvalidExpressionErrorTest);
            Verify_IsFocused(dtoModelItem, viewModel.Errors[0].Do, "IsFieldNameFocused");

            StringAssert.Contains(viewModel.Errors[1].Message, Warewolf.Resource.Errors.ErrorResource.DataMergeUsingNullErrorTest);
            Verify_IsFocused(dtoModelItem, viewModel.Errors[1].Do, "IsAtFocused");
        }
        public void DataMergeDesignerViewModel_ValidateCollectionItem_ValidatesPropertiesOfDTO()
        {
            //------------Setup for test--------------------------
            var mi = ModelItemUtils.CreateModelItem(new DsfDataMergeActivity());

            mi.SetProperty("DisplayName", "Merge");

            var dto = new DataMergeDTO("a&]]", DataMergeDTO.MergeTypeIndex, "", 0, "ab", "Left");

            // ReSharper disable PossibleNullReferenceException
            var miCollection = mi.Properties["MergeCollection"].Collection;
            var dtoModelItem = miCollection.Add(dto);
            // ReSharper restore PossibleNullReferenceException

            var viewModel = new DataMergeDesignerViewModel(mi);

            viewModel.GetDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var          datalist   = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return(datalist);
            };

            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.AreEqual(4, viewModel.Errors.Count);

            StringAssert.Contains(viewModel.Errors[0].Message, "'Input' - Invalid expression: opening and closing brackets don't match.");
            Verify_IsFocused(dtoModelItem, viewModel.Errors[0].Do, "IsFieldNameFocused");

            StringAssert.Contains(viewModel.Errors[1].Message, "'Using' cannot be empty");
            Verify_IsFocused(dtoModelItem, viewModel.Errors[1].Do, "IsAtFocused");
        }