Esempio n. 1
0
        public void TestQueryParamReplacement()
        {
            var dict     = DaxHelper.ParseParams(testParam, new Mocks.MockEventAggregator());
            var finalQry = DaxHelper.replaceParamsInQuery(new StringBuilder(testQuery), dict);

            Assert.AreEqual(expectedQry, finalQry);
        }
Esempio n. 2
0
 public QueryInfo(string queryText, IEventAggregator eventAggregator)
 {
     NeedsParameterValues = true;
     rawQuery             = queryText;
     _parameters          = new Dictionary <string, QueryParameter>(StringComparer.OrdinalIgnoreCase);
     DaxHelper.PreProcessQuery(this, rawQuery, eventAggregator);
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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]);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        public void TestQueryParamParsing()
        {
            var dict = DaxHelper.ParseParams(testParam, new Mocks.MockEventAggregator());

            Assert.AreEqual(14, dict.Count);
        }
Esempio n. 8
0
        public void TestQueryParamParsing()
        {
            var dict = DaxHelper.ParseParams(testParam);

            Assert.AreEqual(14, dict.Count);
        }