示例#1
0
        public void MixedScalarsAndRecordsetWithIndex_Expected_Split_Insert_Mutiple_Scalar_And_Recordsets()
        {
            _resultsCollection.Add(new DataSplitDTO("[[OutVar1]]", "Index", "15", 1));
            _resultsCollection.Add(new DataSplitDTO("[[recset1(2).field1]]", "Index", "15", 2));

            SetupArguments("<root>" + ActivityStrings.DataSplit_preDataList + "</root>", ActivityStrings.DataSplit_preDataList, _source, _resultsCollection);

            var result   = ExecuteProcess();
            var expected = new List <string> {
                @""
                , @"Branson|0812457"
            };

            GetScalarValueFromEnvironment(result.Environment, "OutVar1", out string actualScalar, out string error);

            Assert.AreEqual("896", actualScalar);

            GetRecordSetFieldValueFromDataList(result.Environment, "recset1", "field1", out IList <string> actualRecordSet, out error);

            // remove test datalist ;)

            var actual   = actualRecordSet.Select(entry => entry).ToList();
            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expected, actual, comparer);
        }
示例#2
0
        public void MixedScalarsAndRecordsetWithIndexExpectedXPathEvalInsertMutipleScalarAndRecordsets()
        {
            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "//type/method/@name", 1));
            _resultsCollection.Add(new XPathDTO("[[recset1(2).field1]]", "//type/method/@signature", 2));

            SetUpActivityArguments();

            var result   = ExecuteProcess();
            var expected = new List <string> {
                @""
                , "Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)"
            };

            GetScalarValueFromEnvironment(result.Environment, "OutVar1", out string actualScalar, out string error);

            Assert.AreEqual("CreateForm", actualScalar);

            GetRecordSetFieldValueFromDataList(result.Environment, "recset1", "field1", out IList <string> actualRecordSet, out error);

            // remove test datalist ;)

            var actual   = actualRecordSet.Select(entry => entry).ToList();
            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expected, actual, comparer);
        }
示例#3
0
        public void MultipleScalars_Expected_Split_And_Insert_Mutiple_Scalars()
        {
            _resultsCollection.Add(new DataSplitDTO("[[OutVar1]]", "Index", "15", 1));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar2]]", "Index", "10", 2));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar3]]", "Index", "5", 3));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar4]]", "Index", "15", 4));

            SetupArguments("<root>" + ActivityStrings.DataSplit_preDataList + "</root>", ActivityStrings.DataSplit_preDataList, _source.Replace("\r", ""), _resultsCollection);

            var result = ExecuteProcess();

            var expected = new List <string> {
                @"Title|Fname|LNa", "me|TelNo|", "1.Mr|", "Frank|Williams|"
            };
            var actual = new List <string>();

            for (int i = 1; i <= 4; i++)
            {
                GetScalarValueFromEnvironment(result.Environment, "OutVar" + i, out string returnVal, out string error);
                actual.Add(returnVal.Trim());
            }
            // remove test datalist ;)

            var comparer = new ActivityUnitTests.Utils.StringComparer();

            Assert.AreEqual(4, actual.Count());
            Assert.AreEqual(4, expected.Count());
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void XPathActivity_Execute_MultipleScalars_XPathExecuteAndInsertMutipleScalars()
        {
            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "//type/method/@name", 1));
            _resultsCollection.Add(new XPathDTO("[[OutVar2]]", "//type/method/@signature", 2));
            SetUpActivityArguments();
            IDSFDataObject result = ExecuteProcess();

            List <string> expected = new List <string> {
                "ExtractInMergeDataFromRequest,ExtractOutMergeDataFromRequest,SetID,<GetUsage>b__0,GetUsage,CreateForm",
                "void(object),void(object),void(Dev2.DynamicServices.IDynamicServiceObject, object),void(CommandLine.Text.HelpText),string(),Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)"
            };
            List <string> actual = new List <string>();

            for (int i = 1; i <= 2; i++)
            {
                string returnVal;
                string error;
                GetScalarValueFromDataList(result.DataListID, "OutVar" + i, out returnVal, out error);

                actual.Add(returnVal.Trim());
            }
            // remove test datalist ;)
            DataListRemoval(result.DataListID);

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void XPathActivity_Execute_MultipleScalars_XPathExecuteAndInsertMutipleScalars()
        {
            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "//type/method/@name", 1));
            _resultsCollection.Add(new XPathDTO("[[OutVar2]]", "//type/method/@signature", 2));
            SetUpActivityArguments();
            IDSFDataObject result = ExecuteProcess();

            List <string> expected = new List <string> {
                "CreateForm",
                "Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)"
            };
            List <string> actual = new List <string>();

            for (int i = 1; i <= 2; i++)
            {
                string returnVal;
                string error;
                GetScalarValueFromEnvironment(result.Environment, "OutVar" + i, out returnVal, out error);

                actual.Add(returnVal.Trim());
            }
            // remove test datalist ;)

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void XPathActivity_Execute_ScalarWithXPathInRecset_XPathExecuteAndInsertMutipleScalars()
        {
            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "[[xpaths(*).path]]", 1));
            const string dataSplitPreDataList         = "<ADL><xmlData/><xpaths><path/></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";
            const string dataSplitPreDataListWithData = "<ADL><xmlData/><xpaths><path>//type/method/@name</path></xpaths><xpaths><path>//type/method/@signature</path></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";

            SetupArguments("<root>" + dataSplitPreDataListWithData + "</root>", dataSplitPreDataList, Source, _resultsCollection);
            IDSFDataObject result = ExecuteProcess();

            List <string> expected = new List <string> {
                "void(object),void(object),void(Dev2.DynamicServices.IDynamicServiceObject, object),void(CommandLine.Text.HelpText),string(),Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)"
            };
            List <string> actual = new List <string>();

            for (int i = 1; i <= 1; i++)
            {
                string returnVal;
                string error;
                GetScalarValueFromDataList(result.DataListID, "OutVar" + i, out returnVal, out error);
                actual.Add(returnVal.Trim());
            }

            // remove test datalist ;)
            DataListRemoval(result.DataListID);

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void MixedScalarsAndRecordsetWithIndexExpectedXPathEvalInsertMutipleScalarAndRecordsets()
        {
            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "//type/method/@name", 1));
            _resultsCollection.Add(new XPathDTO("[[recset1(2).field1]]", "//type/method/@signature", 2));

            SetUpActivityArguments();

            IDSFDataObject result   = ExecuteProcess();
            List <string>  expected = new List <string> {
                @""
                , "Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)"
            };
            string actualScalar;
            string error;
            IList <IBinaryDataListItem> actualRecordSet;

            GetScalarValueFromDataList(result.DataListID, "OutVar1", out actualScalar, out error);

            Assert.AreEqual("ExtractInMergeDataFromRequest,ExtractOutMergeDataFromRequest,SetID,<GetUsage>b__0,GetUsage,CreateForm", actualScalar);

            GetRecordSetFieldValueFromDataList(result.DataListID, "recset1", "field1", out actualRecordSet, out error);

            // remove test datalist ;)
            DataListRemoval(result.DataListID);

            List <string> actual   = actualRecordSet.Select(entry => entry.TheValue).ToList();
            var           comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expected, actual, comparer);
        }
示例#8
0
        public void MultipleScalars_Expected_Split_And_Insert_Mutiple_Scalars()
        {
            _resultsCollection.Add(new DataSplitDTO("[[OutVar1]]", "Index", "15", 1));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar2]]", "Index", "10", 2));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar3]]", "Index", "5", 3));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar4]]", "Index", "15", 4));

            SetupArguments("<root>" + ActivityStrings.DataSplit_preDataList + "</root>", ActivityStrings.DataSplit_preDataList, _source, _resultsCollection);

            IDSFDataObject result = ExecuteProcess();

            List <string> expected = new List <string> {
                @"Title|Fname|LNa", "me|TelNo|", "1.Mr", "|Frank|Williams"
            };
            List <string> actual = new List <string>();

            for (int i = 1; i <= 4; i++)
            {
                string returnVal;
                string error;
                GetScalarValueFromDataList(result.DataListID, "OutVar" + i, out returnVal, out error);
                actual.Add(returnVal.Trim());
            }
            // remove test datalist ;)
            DataListRemoval(result.DataListID);

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
示例#9
0
        public void RecordsetWithAnIndexWithNoRecordsInRecSet_Expected_Split_And_Append_Records()
        {
            _resultsCollection.Add(new DataSplitDTO("[[recset1(3).field1]]", "Index", "15", 1));

            SetupArguments("<root>" + ActivityStrings.DataSplit_preDataList + "</root>"
                           , ActivityStrings.DataSplit_preDataList
                           , _source
                           , _resultsCollection);
            List <string> expected = new List <string> {
                "896"
            };

            IDSFDataObject result = ExecuteProcess();

            IList <IBinaryDataListItem> actual;
            string error;

            GetRecordSetFieldValueFromDataList(result.DataListID, "recset1", "field1", out actual, out error);
            // remove test datalist ;)
            DataListRemoval(result.DataListID);

            List <string> actualRet = new List <string>();

            actual.Where(c => c.ItemCollectionIndex >= 3).ToList().ForEach(d => actualRet.Add(d.TheValue));
            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expected, actualRet, comparer);
        }
示例#10
0
        public void CanUniqueToolUseStarNotationInResultsFields()
        {
            const string DataList         = "<ADL><recset1><field1/><field2/><field3/></recset1><recset2><id/><value/></recset2><OutVar1/></ADL>";
            const string DataListWithData = "<ADL>" +
                                            "<recset1>" +
                                            "<field1>1</field1><field2>a</field2><field3>Test1</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>2</field1><field2>b</field2><field3>Test2</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>3</field1><field2>a</field2><field3>Test3</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>4</field1><field2>a</field2><field3>Test4</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>5</field1><field2>c</field2><field3>Test5</field3>" +
                                            "</recset1>" +
                                            "<OutVar1/></ADL>";

            SetupArguments("<root>" + DataListWithData + "</root>"
                           , DataList
                           , "[[recset1().field2]]"
                           , "[[recset1().field1]],[[recset1().field3]]", "[[recset2(*).id]],[[recset2(*).value]]");
            List <string> expectedId = new List <string> {
                "1", "2", "5"
            };
            List <string> expectedValue = new List <string> {
                "Test1", "Test2", "Test5"
            };

            IDSFDataObject result = ExecuteProcess();

            IList <IBinaryDataListItem> actual;
            string error;

            GetRecordSetFieldValueFromDataList(result.DataListID, "recset2", "id", out actual, out error);
            List <string> actualRet = new List <string>();

            actual.ToList().ForEach(d => actualRet.Add(d.TheValue));
            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expectedId, actualRet, comparer);
            GetRecordSetFieldValueFromDataList(result.DataListID, "recset2", "value", out actual, out error);

            // remove test datalist ;)
            DataListRemoval(result.DataListID);

            actualRet = new List <string>();
            actual.ToList().ForEach(d => actualRet.Add(d.TheValue));
            comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expectedValue, actualRet, comparer);
        }
        public void DsfDataSplitActivity_Execute_WhenUsingStarAndMixedSplitType_WithEmptyLine_ExpectCorrectSplit()
        {
            //------------Setup for test--------------------------

            _resultsCollection.Add(new DataSplitDTO("[[rs().col1]]", "Chars", "|", 1));
            _resultsCollection.Add(new DataSplitDTO("[[rs().col2]]", "Chars", "|", 2));
            _resultsCollection.Add(new DataSplitDTO("[[rs().col3]]", "New Line", "", 3));
            _resultsCollection.Add(new DataSplitDTO("[[rs(*).data]]", "New Line", "", 4));
            _resultsCollection.Add(new DataSplitDTO("[[rs(*).data]]", "New Line", "", 5));

            SetupArguments("<root><ADL><testData>RSA ID|FirstName|LastName" + Environment.NewLine +
                           "13456456789|Samantha Some|Jones" + Environment.NewLine +
                           Environment.NewLine +
                           "09123456646|James|Apple</testData></ADL></root>",
                           "<ADL><rs><col1/><col2/><col3/><data/></rs><testData/></ADL>",
                           "[[testData]]",
                           _resultsCollection,
                           true);

            //------------Execute Test---------------------------
            var result = ExecuteProcess();

            var col1List = RetrieveAllRecordSetFieldValuesSkipEmpty(result.Environment, "rs", "col1", out string error);
            var col2List = RetrieveAllRecordSetFieldValuesSkipEmpty(result.Environment, "rs", "col2", out error);
            var col3List = RetrieveAllRecordSetFieldValuesSkipEmpty(result.Environment, "rs", "col3", out error);
            var dataList = RetrieveAllRecordSetFieldValuesSkipEmpty(result.Environment, "rs", "data", out error);

            // remove test datalist ;)

            //------------Assert Results-------------------------

            var col1Expected = new List <string> {
                "RSA ID", "09123456646"
            };
            var col2Expected = new List <string> {
                "FirstName", "James"
            };
            var col3Expected = new List <string> {
                "LastName", "Apple"
            };
            var dataExpected = new List <string> {
                "13456456789|Samantha Some|Jones"
            };

            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(col1Expected, col1List, comparer);
            CollectionAssert.AreEqual(col2Expected, col2List, comparer);
            CollectionAssert.AreEqual(col3Expected, col3List, comparer);
            CollectionAssert.AreEqual(dataExpected, dataList, comparer);
        }
示例#12
0
        public void RecordsetWithWithMulitpleRecordsInRecSetExpectedUniqueAndAppendRecords()
        {
            const string DataList         = "<ADL><recset1><field1/><field2/><field3/></recset1><recset2><id/><value/></recset2><OutVar1/></ADL>";
            const string DataListWithData = "<ADL>" +
                                            "<recset1>" +
                                            "<field1>1</field1><field2>a</field2><field3>Test1</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>2</field1><field2>b</field2><field3>Test2</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>3</field1><field2>a</field2><field3>Test3</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>4</field1><field2>a</field2><field3>Test4</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>5</field1><field2>c</field2><field3>Test5</field3>" +
                                            "</recset1>" +
                                            "<OutVar1/></ADL>";

            SetupArguments("<root>" + DataListWithData + "</root>"
                           , DataList
                           , "[[recset1().field2]]"
                           , "[[recset1().field1]],[[recset1().field3]]", "[[recset2().id]],[[recset2().value]]");
            var expectedId = new List <string> {
                "1", "2", "5"
            };
            var expectedValue = new List <string> {
                "Test1", "Test2", "Test5"
            };

            var result = ExecuteProcess();

            GetRecordSetFieldValueFromDataList(result.Environment, "recset2", "id", out IList <string> actual, out string error);
            var actualRet = new List <string>();

            actual.ToList().ForEach(d => actualRet.Add(d));
            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expectedId, actualRet, comparer);
            GetRecordSetFieldValueFromDataList(result.Environment, "recset2", "value", out actual, out error);

            // remove test datalist ;)

            actualRet = new List <string>();
            actual.ToList().ForEach(d => actualRet.Add(d));
            comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expectedValue, actualRet, comparer);
        }
示例#13
0
        public void RecsetWithXPathInRecsetExpectedXPathExecuteAndInsertMutipleScalars()
        {
            _resultsCollection.Add(new XPathDTO("[[recset1(*).field1]]", "[[xpaths(*).path]]", 1));
            const string dataSplitPreDataList         = "<ADL><xmlData/><xpaths><path/></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";
            const string dataSplitPreDataListWithData = "<ADL><xmlData/><xpaths><path>//type/method/@name</path></xpaths><xpaths><path>//type/method/@signature</path></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";

            SetupArguments("<root>" + dataSplitPreDataListWithData + "</root>", dataSplitPreDataList, Source, _resultsCollection);
            var result = ExecuteProcess();

            var expected = new List <string> {
                "void(object)", "void(object)", "void(Dev2.DynamicServices.IDynamicServiceObject, object)", "void(CommandLine.Text.HelpText)", "string()", "Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)"
            };
            var actual = RetrieveAllRecordSetFieldValues(result.Environment, "recset1", "field1", out string error);
            // remove test datalist ;)

            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expected, actual, comparer);
        }
示例#14
0
        public void RecordsetWithAnIndexWithNoRecordsInRecSetExpectedPathsAndAppendRecords()
        {
            _resultsCollection.Add(new XPathDTO("[[recset1(3).field1]]", "//type/method", 1));
            SetUpActivityArguments();
            List <string> expected = new List <string> {
                "<method name=\"CreateForm\" signature=\"Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)\" />"
            };

            IDSFDataObject result = ExecuteProcess();

            IList <IBinaryDataListItem> actual;
            string error;

            GetRecordSetFieldValueFromDataList(result.DataListID, "recset1", "field1", out actual, out error);
            // remove test datalist ;)
            DataListRemoval(result.DataListID);

            List <string> actualRet = new List <string>();

            actual.Where(c => c.ItemCollectionIndex >= 3).ToList().ForEach(d => actualRet.Add(d.TheValue));
            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expected, actualRet, comparer);
        }
示例#15
0
        public void XPathActivity_Execute_MultipleScalars_XPathExecuteAndInsertMutipleScalars()
        {

            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "//type/method/@name", 1));
            _resultsCollection.Add(new XPathDTO("[[OutVar2]]", "//type/method/@signature", 2));
            SetUpActivityArguments();
            IDSFDataObject result = ExecuteProcess();

            List<string> expected = new List<string> { "ExtractInMergeDataFromRequest,ExtractOutMergeDataFromRequest,SetID,<GetUsage>b__0,GetUsage,CreateForm", 
                                                       "void(object),void(object),void(Dev2.DynamicServices.IDynamicServiceObject, object),void(CommandLine.Text.HelpText),string(),Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)" };
            List<string> actual = new List<string>();

            for(int i = 1; i <= 2; i++)
            {
                string returnVal;
                string error;
                GetScalarValueFromEnvironment(result.Environment, "OutVar" + i, out returnVal, out error);

                actual.Add(returnVal.Trim());
            }
            // remove test datalist ;)

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void DsfDataSplitActivity_EmptyColumn()
        {
            _resultsCollection.Clear();
            _resultsCollection.Add(new DataSplitDTO("[[rs().Title]]", "Chars", "|", 1));
            _resultsCollection.Add(new DataSplitDTO("[[rs().Fname]]", "Chars", "|", 2));
            _resultsCollection.Add(new DataSplitDTO("[[rs().LName]]", "Chars", "|", 3));
            _resultsCollection.Add(new DataSplitDTO("[[rs().TelNo]]", "New Line", "", 4));

            SetupArguments("<root><ADL><testData>Title|Fname|LName|TelNo" + Environment.NewLine +
                           "Mr|Mike|Jones|11111" + Environment.NewLine +
                           "Mrs|Samantha||" + Environment.NewLine +
                           "Mr|Steve||" + Environment.NewLine +
                           "Mr|James|Apple|33333</testData></ADL></root>",
                           "<ADL><rs><Title/><Fname/><LName/><TelNo/><data/></rs><testData/></ADL>",
                           "[[testData]]",
                           _resultsCollection,
                           true);

            //------------Execute Test---------------------------
            var result = ExecuteProcess();

            var col1List = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "Title", out string error);
            var col2List = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "Fname", out error);
            var col3List = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "LName", out error);
            var col4List = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "TelNo", out error);

            //------------Assert Results-------------------------

            var col1Expected = new List <string> {
                "Title", "Mr", "Mrs", "Mr", "Mr"
            };
            var col2Expected = new List <string> {
                "Fname", "Mike", "Samantha", "Steve", "James"
            };
            var col3Expected = new List <string> {
                "LName", "Jones", "", "", "Apple"
            };
            var col4Expected = new List <string> {
                "TelNo", "11111", "", "", "33333"
            };

            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(col1Expected, col1List, comparer);
            CollectionAssert.AreEqual(col2Expected, col2List, comparer);
            CollectionAssert.AreEqual(col3Expected, col3List, comparer);
            CollectionAssert.AreEqual(col4Expected, col4List, comparer);

            var len = col1Expected.Count;

            for (int i = 0; i < len; i++)
            {
                Assert.AreEqual(col1Expected[i], col1List[i]);
            }
            len = col2Expected.Count;
            for (int i = 0; i < len; i++)
            {
                Assert.AreEqual(col2Expected[i], col2List[i]);
            }
            len = col3Expected.Count;
            for (int i = 0; i < len; i++)
            {
                Assert.AreEqual(col3Expected[i], col3List[i]);
            }
            len = col4Expected.Count;
            for (int i = 0; i < len; i++)
            {
                Assert.AreEqual(col4Expected[i], col4List[i]);
            }
        }
示例#17
0
        public void CanUniqueToolUseStarAndAppendNotationInResultsFields()
        {
            const string DataList = "<ADL><recset1><field1/><field2/><field3/></recset1><recset2><id/><value/></recset2><OutVar1/></ADL>";
            const string DataListWithData = "<ADL>" +
                                            "<recset1>" +
                                            "<field1>1</field1><field2>a</field2><field3>Test1</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>2</field1><field2>b</field2><field3>Test2</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>3</field1><field2>a</field2><field3>Test3</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>4</field1><field2>a</field2><field3>Test4</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>5</field1><field2>c</field2><field3>Test5</field3>" +
                                            "</recset1>" +
                                            "<recset2><id>99</id><value></value></recset2>" +
                                            "<OutVar1/></ADL>";
            SetupArguments("<root>" + DataListWithData + "</root>"
                , DataList
                , "[[recset1().field2]]"
                , "[[recset1().field1]],[[recset1().field3]]", "[[recset2().id]],[[recset2(*).value]]");
            List<string> expectedId = new List<string> { "99", "1", "2", "5" };
            List<string> expectedValue = new List<string> { "Test1", "Test2", "Test5", "" };

            IDSFDataObject result = ExecuteProcess();

            IList<string> actual;
            string error;

            GetRecordSetFieldValueFromDataList(result.Environment, "recset2", "id", out actual, out error);
            List<string> actualRet = new List<string>();
            actual.ToList().ForEach(d => actualRet.Add(d));
            var comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expectedId, actualRet, comparer);
            GetRecordSetFieldValueFromDataList(result.Environment, "recset2", "value", out actual, out error);

            // remove test datalist ;)

            actualRet = new List<string>();
            actual.ToList().ForEach(d =>
            {
                try
                {
                    actualRet.Add(d);
                }
                catch(Exception)
                {
                    actualRet.Add("");
                }
            });
            comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expectedValue, actualRet, comparer);
        }
示例#18
0
        public void RecordsetWithWithNoRecordsInRecSetExpectedUniqueAndAppendRecords()
        {
            const string DataList = "<ADL><recset1><field1/><field2/><field3/></recset1><recset2><id/><value/></recset2><OutVar1/></ADL>";
            const string DataListWithData = "<ADL>" +
                                            "<recset1>" +
                                            "<field1>1</field1><field2>a</field2><field3>Test1</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>2</field1><field2>b</field2><field3>Test2</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>3</field1><field2>a</field2><field3>Test3</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>4</field1><field2>a</field2><field3>Test4</field3>" +
                                            "</recset1>" +
                                            "<recset1>" +
                                            "<field1>5</field1><field2>c</field2><field3>Test5</field3>" +
                                            "</recset1>" +
                                            "<OutVar1/></ADL>";
            SetupArguments("<root>" + DataListWithData + "</root>"
                , DataList
                , "[[recset1().field2]]"
                , "[[recset1().field1]]", "[[recset2().id]]");
            List<string> expected = new List<string> { "1", "2", "5" };

            IDSFDataObject result = ExecuteProcess();

            IList<string> actual;
            string error;

            GetRecordSetFieldValueFromDataList(result.Environment, "recset2", "id", out actual, out error);

            // remove test datalist ;)

            List<string> actualRet = new List<string>();
            actual.ToList().ForEach(d => actualRet.Add(d));
            var comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actualRet, comparer);
        }
示例#19
0
        public void MixedScalarsAndRecordsetWithIndexExpectedXPathEvalInsertMutipleScalarAndRecordsets()
        {
            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "//type/method/@name", 1));
            _resultsCollection.Add(new XPathDTO("[[recset1(2).field1]]", "//type/method/@signature", 2));

            SetUpActivityArguments();

            IDSFDataObject result = ExecuteProcess();
            List<string> expected = new List<string> { @"" 
                , "Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)"
            };
            string actualScalar;
            string error;
            IList<string> actualRecordSet;

            GetScalarValueFromEnvironment(result.Environment, "OutVar1", out actualScalar, out error);

            Assert.AreEqual("ExtractInMergeDataFromRequest,ExtractOutMergeDataFromRequest,SetID,<GetUsage>b__0,GetUsage,CreateForm", actualScalar);

            GetRecordSetFieldValueFromDataList(result.Environment, "recset1", "field1", out actualRecordSet, out error);

            // remove test datalist ;)

            List<string> actual = actualRecordSet.Select(entry => entry).ToList();
            var comparer = new ActivityUnitTests.Utils.StringComparer();

            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void MixedScalarsAndRecordsetWithIndex_Expected_Split_Insert_Mutiple_Scalar_And_Recordsets()
        {
            _resultsCollection.Add(new DataSplitDTO("[[OutVar1]]", "Index", "15", 1));
            _resultsCollection.Add(new DataSplitDTO("[[recset1(2).field1]]", "Index", "15", 2));

            SetupArguments("<root>" + ActivityStrings.DataSplit_preDataList + "</root>", ActivityStrings.DataSplit_preDataList, _source, _resultsCollection);

            IDSFDataObject result = ExecuteProcess();
            List<string> expected = new List<string> { @"" 
                                                     , @"Branson|0812457"
                                                     };
            string actualScalar;
            string error;
            IList<string> actualRecordSet;

            GetScalarValueFromEnvironment(result.Environment, "OutVar1", out actualScalar, out error);

            Assert.AreEqual("896", actualScalar);

            GetRecordSetFieldValueFromDataList(result.Environment, "recset1", "field1", out actualRecordSet, out error);

            // remove test datalist ;)

            List<string> actual = actualRecordSet.Select(entry => entry).ToList();
            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void MultipleScalars_Expected_Split_And_Insert_Mutiple_Scalars()
        {

            _resultsCollection.Add(new DataSplitDTO("[[OutVar1]]", "Index", "15", 1));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar2]]", "Index", "10", 2));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar3]]", "Index", "5", 3));
            _resultsCollection.Add(new DataSplitDTO("[[OutVar4]]", "Index", "15", 4));

            SetupArguments("<root>" + ActivityStrings.DataSplit_preDataList + "</root>", ActivityStrings.DataSplit_preDataList, _source, _resultsCollection);

            IDSFDataObject result = ExecuteProcess();

            List<string> expected = new List<string> { @"Title|Fname|LNa", "me|TelNo|", "1.Mr", "|Frank|Williams" };
            List<string> actual = new List<string>();

            for(int i = 1; i <= 4; i++)
            {
                string returnVal;
                string error;
                GetScalarValueFromEnvironment(result.Environment, "OutVar" + i, out returnVal, out error);
                actual.Add(returnVal.Trim());
            }
            // remove test datalist ;)

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
示例#22
0
        public void XPathActivity_Execute_ScalarWithXPathInRecset_XPathExecuteAndInsertMutipleScalars()
        {

            _resultsCollection.Add(new XPathDTO("[[OutVar1]]", "[[xpaths(*).path]]", 1));
            const string dataSplitPreDataList = "<ADL><xmlData/><xpaths><path/></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";
            const string dataSplitPreDataListWithData = "<ADL><xmlData/><xpaths><path>//type/method/@name</path></xpaths><xpaths><path>//type/method/@signature</path></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";
            SetupArguments("<root>" + dataSplitPreDataListWithData + "</root>", dataSplitPreDataList, Source, _resultsCollection);
            IDSFDataObject result = ExecuteProcess();

            List<string> expected = new List<string> { "void(object),void(object),void(Dev2.DynamicServices.IDynamicServiceObject, object),void(CommandLine.Text.HelpText),string(),Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)" };
            List<string> actual = new List<string>();

            for(int i = 1; i <= 1; i++)
            {
                string returnVal;
                string error;
                GetScalarValueFromEnvironment(result.Environment, "OutVar" + i, out returnVal, out error);
                actual.Add(returnVal.Trim());
            }

            // remove test datalist ;)

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }
        public void DsfDataSplitActivity_Execute_WhenUsingAppendAndMixedSplitType_ExpectCorrectSplit()
        {

            //------------Setup for test--------------------------

            _resultsCollection.Add(new DataSplitDTO("[[rs().col1]]", "Chars", "|", 1));
            _resultsCollection.Add(new DataSplitDTO("[[rs().col2]]", "Chars", "|", 2));
            _resultsCollection.Add(new DataSplitDTO("[[rs().col3]]", "New Line", "", 3));
            _resultsCollection.Add(new DataSplitDTO("[[rs().data]]", "New Line", "", 4));
            _resultsCollection.Add(new DataSplitDTO("[[rs().data]]", "New Line", "", 5));

            SetupArguments("<root><ADL><testData>RSA ID|FirstName|LastName" + Environment.NewLine +
                           "13456456789|Samantha Some|Jones" + Environment.NewLine +
                           "09123456646|James|Apple</testData></ADL></root>",
                           "<ADL><rs><col1/><col2/><col3/><data/></rs><testData/></ADL>",
                           "[[testData]]",
                           _resultsCollection);

            //------------Execute Test---------------------------
            IDSFDataObject result = ExecuteProcess();
            string error;

            var col1List = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "col1", out error);
            var col2List = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "col2", out error);
            var col3List = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "col3", out error);
            var dataList = RetrieveAllRecordSetFieldValues(result.Environment, "rs", "data", out error);

            // remove test datalist ;)

            //------------Assert Results-------------------------

            var col1Expected = new List<string> { "RSA ID" };
            var col2Expected = new List<string> { "FirstName" };
            var col3Expected = new List<string> { "LastName"};
            var dataExpected = new List<string> { "13456456789|Samantha Some|Jones", "09123456646|James|Apple" };

            var comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(col1Expected, col1List, comparer);
            CollectionAssert.AreEqual(col2Expected, col2List, comparer);
            CollectionAssert.AreEqual(col3Expected, col3List, comparer);
            CollectionAssert.AreEqual(dataExpected, dataList, comparer);
        }
示例#24
0
        public void RecsetWithXPathInRecsetExpectedXPathExecuteAndInsertMutipleScalars()
        {

            _resultsCollection.Add(new XPathDTO("[[recset1(*).field1]]", "[[xpaths(*).path]]", 1));
            const string dataSplitPreDataList = "<ADL><xmlData/><xpaths><path/></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";
            const string dataSplitPreDataListWithData = "<ADL><xmlData/><xpaths><path>//type/method/@name</path></xpaths><xpaths><path>//type/method/@signature</path></xpaths><recset1><field1/></recset1><recset2><field2/></recset2><OutVar1/><OutVar2/><OutVar3/><OutVar4/><OutVar5/></ADL>";
            SetupArguments("<root>" + dataSplitPreDataListWithData + "</root>", dataSplitPreDataList, Source, _resultsCollection);
            IDSFDataObject result = ExecuteProcess();

            List<string> expected = new List<string> { "void(object)", "void(object)", "void(Dev2.DynamicServices.IDynamicServiceObject, object)", "void(CommandLine.Text.HelpText)", "string()", "Unlimited.Applications.WebServer.Responses.CommunicationResponseWriter(object, string, string)" };
            string error;
            List<string> actual = RetrieveAllRecordSetFieldValues(result.Environment, "recset1", "field1", out error);
            // remove test datalist ;)

            ActivityUnitTests.Utils.StringComparer comparer = new ActivityUnitTests.Utils.StringComparer();
            CollectionAssert.AreEqual(expected, actual, comparer);
        }