public void TestQueryParamReplacement() { var dict = DaxHelper.ParseParams(testParam, new Mocks.MockEventAggregator()); var finalQry = DaxHelper.replaceParamsInQuery(new StringBuilder(testQuery), dict); Assert.AreEqual(expectedQry, finalQry); }
public QueryInfo(string queryText, IEventAggregator eventAggregator) { NeedsParameterValues = true; rawQuery = queryText; _parameters = new Dictionary <string, QueryParameter>(StringComparer.OrdinalIgnoreCase); DaxHelper.PreProcessQuery(this, rawQuery, eventAggregator); }
public void TestStronglyTypedParams() { string testQuery = @"<Parameters xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns=""urn:schemas-microsoft-com:xml-analysis""> <Parameter> <Name>p1</Name> <Value xsi:type=""xsd:string"">abc</Value> </Parameter> <Parameter> <Name>p2</Name> <Value xsi:type=""xsd:int"">1</Value> </Parameter> <Parameter> <Name>p3</Name> <Value xsi:type=""xsd:double"">2.0</Value> </Parameter> </Parameters>"; //var qi = new QueryInfo(testQuery, false, false, new Mocks.MockEventAggregator()); var dict = new Dictionary <string, QueryParameter>(); DaxHelper.ParseParams(testQuery, dict, new Mocks.MockEventAggregator()); //var finalQuery = DaxHelper.replaceParamsInQuery(new StringBuilder(testQuery), dict); //var finalQuery = qi.ProcessedQuery; Assert.AreEqual("abc", dict["p1"].Value); Assert.AreEqual(1, dict["p2"].Value); Assert.AreEqual(2.0d, dict["p3"].Value); }
public void TestPreProcessQuery() { var finalQry = DaxHelper.PreProcessQuery(testQuery + "\n" + testParam, new Mocks.MockEventAggregator()); Assert.AreEqual(expectedQry.Replace("\n", ""), finalQry); //Assert.AreEqual((int)expectedQry.ToCharArray()[0], (int)finalQry.ToCharArray()[0]); //Assert.AreEqual((int)expectedQry.ToCharArray()[5], (int)finalQry.ToCharArray()[5]); //Assert.AreEqual((int)expectedQry.ToCharArray()[8], (int)finalQry.ToCharArray()[8]); }
public void TestParamsWithNoNamespace() { string testAmbiguousParam = @"<Parameters> <Parameter> <Name>Test</Name> <Value>Value1</Value> </Parameter> <Parameter> <Name>Test1</Name> <Value>Value2</Value> </Parameter></Parameters>"; var testQuery = "[value1]:@Test [value2]:@Test1 [value2]:(@test1) [value1]:@test, @test"; var dict = DaxHelper.ParseParams(testAmbiguousParam, new Mocks.MockEventAggregator()); var finalQuery = DaxHelper.replaceParamsInQuery(new StringBuilder(testQuery), dict); Assert.AreEqual("[value1]:\"Value1\" [value2]:\"Value2\" [value2]:(\"Value2\") [value1]:\"Value1\", \"Value1\"", finalQuery); }
public void TestAmbiguousParams() { string testAmbiguousParam = @"<Parameters xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns=""urn:schemas-microsoft-com:xml-analysis""> <Parameter> <Name>Test</Name> <Value xsi:type=""xsd:string"">Value1</Value> </Parameter> <Parameter> <Name>Test1</Name> <Value xsi:type=""xsd:string"">Value2</Value> </Parameter></Parameters>"; var testQuery = "[value1]:@Test [value2]:@Test1 [value2]:(@test1) [value1]:@test, @test"; var dict = DaxHelper.ParseParams(testAmbiguousParam, new Mocks.MockEventAggregator()); var finalQuery = DaxHelper.replaceParamsInQuery(new StringBuilder(testQuery), dict); Assert.AreEqual("[value1]:\"Value1\" [value2]:\"Value2\" [value2]:(\"Value2\") [value1]:\"Value1\", \"Value1\"", finalQuery); }
public void TestQueryParamParsing() { var dict = DaxHelper.ParseParams(testParam, new Mocks.MockEventAggregator()); Assert.AreEqual(14, dict.Count); }
public void TestQueryParamParsing() { var dict = DaxHelper.ParseParams(testParam); Assert.AreEqual(14, dict.Count); }