Esempio n. 1
0
        public void ParseForActivityDataItems_GivenEmptyPayLoad_ShouldReturnCorreclty()
        {
            //---------------Set up test pack-------------------
            var parser = new Dev2DataLanguageParser();
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            var forActivityDataItems = parser.ParseForActivityDataItems("");

            //---------------Test Result -----------------------
            Assert.AreEqual(0, forActivityDataItems.Count);
        }
Esempio n. 2
0
        public void Dev2DataLanguageParser_ParseExpressionIntoParts()
        {
            //---------------Set up test pack-------------------
            var          parser   = new Dev2DataLanguageParser();
            const string nullText = null;

            var emptyList = parser.MakeParts(nullText, true);

            Assert.AreEqual(0, emptyList.Count);

            var parts = parser.ParseForActivityDataItems(nullText);

            Assert.AreEqual(0, parts.Count);

            const string unclosed = "[[varName";

            parts = parser.ParseForActivityDataItems(unclosed);
            Assert.AreEqual("varName", parts[0]);

            Assert.ThrowsException <Dev2DataLanguageParseError>(() => parser.MakeParts(unclosed, true));
        }
Esempio n. 3
0
        public void ParseForActivityDataItems_GivenPayLoadWithTwoVariables_ShouldReturnCorreclty()
        {
            //---------------Set up test pack-------------------
            var          parser   = new Dev2DataLanguageParser();
            const string datalist = "[[a]] and [[b]]";
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var forActivityDataItems = parser.ParseForActivityDataItems(datalist);

            //---------------Test Result -----------------------
            Assert.AreEqual(2, forActivityDataItems.Count);
        }
        public IList <string> FormatDsfActivityField(string activityField)
        {
            IList <string> result = new List <string>();

            var regions = DataListCleaningUtils.SplitIntoRegionsForFindMissing(activityField);

            foreach (var region in regions)
            {
                // Sashen: 09-10-2012 : Using the new parser
                var intellisenseParser = new SyntaxTreeBuilder();

                var nodes = intellisenseParser.Build(region);

                // No point in continuing ;)
                if (nodes == null)
                {
                    return(result);
                }

                if (intellisenseParser.EventLog.HasEventLogs)
                {
                    var languageParser = new Dev2DataLanguageParser();

                    try
                    {
                        result = languageParser.ParseForActivityDataItems(region);
                    }
                    catch (Dev2DataLanguageParseError)
                    {
                        return(new List <string>());
                    }
                    catch (NullReferenceException)
                    {
                        return(new List <string>());
                    }
                }
                var allNodes = new List <Node>();
                result = FormatDsfActivityField(result, intellisenseParser, nodes, allNodes);
            }
            try
            {
                FsInteropFunctions.ParseLanguageExpressionWithoutUpdate(activityField);
            }
            catch (Exception)
            {
                return(result.Where(lang => activityField.Contains("[[" + lang + "]]")).ToList());
            }

            return(result);
        }
Esempio n. 5
0
        private void RecordsetGroupName(ref int grpIdx, ref string displayExpression, string rawExpression, ref string groupName)
        {
            grpIdx++;
            groupName = rawExpression;
            var dataLanguageParser = new Dev2DataLanguageParser();
            var vals = dataLanguageParser.ParseForActivityDataItems(_assignedToVariableName);

            if (vals != null)
            {
                foreach (var val in vals)
                {
                    var repVal = DataListUtil.CreateRecordsetDisplayValue(DataListUtil.ExtractRecordsetNameFromValue(val), DataListUtil.ExtractFieldNameFromValue(val), grpIdx.ToString());
                    displayExpression = _assignedToVariableName.Replace(val, repVal);
                }
            }
        }
 public void Dev2DataLanguageParser_ParseForActivityDataItems_PayloadIsEmpty_NoDataListParts()
 {
     //------------Setup for test--------------------------
     var dev2LanuageParser = new Dev2DataLanguageParser();
     //------------Execute Test---------------------------
     var parts = dev2LanuageParser.ParseForActivityDataItems("");
     //------------Assert Results-------------------------
     Assert.AreEqual(0, parts.Count);
 }
        public void Dev2LanuageParser_Parse_WhenCommaDelimited_ExpectThreeValidParts()
        {
            //------------Setup for test--------------------------
            var dev2LanuageParser = new Dev2DataLanguageParser();
            const string data = @" [[rec().s]], [[rec().e]], [[rec().t]]";

            //------------Execute Test---------------------------
            var parts = dev2LanuageParser.ParseForActivityDataItems(data);

            //------------Assert Results-------------------------
            Assert.AreEqual(3, parts.Count);
        }
        private void OldValueAtomListResult(List <IDebugItemResult> results)
        {
            var    recSetResult = _oldValue as CommonFunctions.WarewolfEvalResult.WarewolfAtomListresult;
            string groupName    = null;
            int    grpIdx       = 0;

            if (recSetResult != null)
            {
                foreach (var item in recSetResult.Item)
                {
                    string displayExpression = _assignedToVariableName;
                    string rawExpression     = _assignedToVariableName;
                    if (displayExpression.Contains("().") || displayExpression.Contains("(*)."))
                    {
                        grpIdx++;
                        groupName = rawExpression;
                        Dev2DataLanguageParser dataLanguageParser = new Dev2DataLanguageParser();
                        var vals = dataLanguageParser.ParseForActivityDataItems(_assignedToVariableName);
                        if (vals != null)
                        {
                            foreach (var val in vals)
                            {
                                var repVal = DataListUtil.CreateRecordsetDisplayValue(DataListUtil.ExtractRecordsetNameFromValue(val), DataListUtil.ExtractFieldNameFromValue(val), grpIdx.ToString());
                                displayExpression = _assignedToVariableName.Replace(val, repVal);
                            }
                        }
                    }
                    else
                    {
                        string indexRegionFromRecordset = DataListUtil.ExtractIndexRegionFromRecordset(displayExpression);
                        int    indexForRecset;
                        int.TryParse(indexRegionFromRecordset, out indexForRecset);

                        if (indexForRecset > 0)
                        {
                            int    indexOfOpenningBracket = displayExpression.IndexOf("(", StringComparison.Ordinal) + 1;
                            string group = displayExpression.Substring(0, indexOfOpenningBracket) + "*" + displayExpression.Substring(indexOfOpenningBracket + indexRegionFromRecordset.Length);
                            grpIdx++;
                            groupName = @group;
                        }
                    }

                    var debugOperator = "";
                    var debugType     = DebugItemResultType.Value;
                    if (DataListUtil.IsEvaluated(displayExpression))
                    {
                        debugOperator = "=";
                        debugType     = DebugItemResultType.Variable;
                        if (_isCalculate)
                        {
                            displayExpression = groupName ?? displayExpression;
                        }
                    }
                    else
                    {
                        displayExpression = null;
                    }
                    var debugItemResult = new DebugItemResult
                    {
                        Type         = debugType,
                        Label        = _rightLabel,
                        Variable     = DataListUtil.IsEvaluated(displayExpression) ? displayExpression : null,
                        Operator     = debugOperator,
                        GroupName    = groupName,
                        Value        = ExecutionEnvironment.WarewolfAtomToString(item),
                        GroupIndex   = grpIdx,
                        MockSelected = _mockSelected
                    };
                    results.Add(debugItemResult);
                }
            }
        }