/// <summary> /// Creates an expression translator that will be able to decode the results /// returned from the triple store selected for the query. /// </summary> /// <returns>An <see cref="IQueryFormatTranslator"/> that will be able to decode /// the results from the chosen triple store</returns> public IQueryFormatTranslator CreateExpressionTranslator() { switch (QueryType) { default: var translator = new LinqToSparqlExpTranslator <T>(new StringBuilder()); translator.TypeTranslator = TypeTranslator; return(translator); } }
public void ConstantTest_double() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); ConstantExpression ce = Expression.Constant(3.14); // string StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Constant(ce); string actualResult = sb.ToString(); string expectedResult = "3.14^^xsdt:double"; Assert.AreEqual(expectedResult, actualResult); }
public void ConstantTest_DateTime() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); ConstantExpression ce = Expression.Constant(new DateTime(2002, 03, 04, 05, 06, 07)); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Constant(ce); string actualResult = sb.ToString(); string expectedResult = "\"2002-03-04T05:06:07+11:00\"^^xsdt:dateTime"; Assert.AreEqual(expectedResult, actualResult); }
public void QuoteTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.Quote(Expression.Constant(5)); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Quote(e); string actualResult = sb.ToString(); string expectedResult = "\"5\""; // assumption - it should retain its XSDT type? Assert.AreEqual(expectedResult, actualResult); }
public void ParameterTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.Parameter(GetType(), "mi"); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Parameter(e); string actualResult = sb.ToString(); string expectedResult = "mi"; // not sure that any output should be expected Assert.AreEqual(expectedResult, actualResult); }
public void OrTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.Or(EH.Member(GetProperty("BooleanTestProperty")), Expression.Not(EH.Member(GetProperty("BooleanTestProperty")))); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Or(e); string actualResult = sb.ToString(); string expectedResult = "(?BooleanTestProperty)||(!(?BooleanTestProperty))"; Assert.AreEqual(expectedResult, actualResult); }
public void NewTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.New(GetType()); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.New(e); string actualResult = sb.ToString(); string expectedResult = "(?BooleanTestProperty)"; Assert.AreEqual(expectedResult, actualResult); }
public void NewArrayInitTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.NewArrayInit(GetType(), new Expression[] { Expression.Constant(10) }); // array of ten StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.NewArrayInit(e); string actualResult = sb.ToString(); string expectedResult = "(?BooleanTestProperty)"; Assert.AreEqual(expectedResult, actualResult); }
public void TypeAsTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.TypeAs(Expression.Constant("3.14"), typeof (double)); target.StringBuilder = new StringBuilder(); target.TypeAs(e); }
public void MethodCallTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression[] ea = new Expression[] { Expression.Constant(15) }; Expression e = Expression.Call(GetType().GetMethod("IntTest"), ea); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Call(e); string actualResult = sb.ToString(); string expectedResult = "(mi.IntTest(15)"; Assert.AreEqual(expectedResult, actualResult); }
public void MemberAccessTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = EH.Member(GetType().GetProperty("Ia")); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.MemberAccess(e); string actualResult = sb.ToString(); string expectedResult = "?Ia"; Assert.AreEqual(expectedResult, actualResult); }
public void ConvertCheckedTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.ConvertChecked(Expression.Constant(10), typeof (double)); target.StringBuilder = new StringBuilder(); target.ConvertChecked(e); }
public void ConditionalTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.Condition( Expression.Equal(EH.Member(GetType().GetProperty("BooleanTestProperty")), Expression.Constant(true)), Expression.Constant(10), Expression.Constant(15)); target.StringBuilder = new StringBuilder(); target.Conditional(e); }
public void CoalesceTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); string testVal = "hello"; string defaultVal = "world"; Expression e = Expression.Coalesce(Expression.Constant(testVal), Expression.Constant(defaultVal)); target.StringBuilder = new StringBuilder(); target.Coalesce(e); }
public void AndTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.And( EH.Member(GetType().GetProperty("BooleanTestProperty")), Expression.Constant(true)); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.And(e); string actualResult = sb.ToString(); string expectedResult = "(?BooleanTestProperty)&&(True^^xsdt:boolean)"; Assert.AreEqual(expectedResult, actualResult); }
public void RShiftTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.RightShift(Expression.Constant(1), Expression.Constant(5)); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.RightShift(e); string actualResult = sb.ToString(); string expectedResult = ""; // shouldn'mi make it to here Assert.AreEqual(expectedResult, actualResult); }
public void SubtractTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.Subtract(EH.Member(GetType().GetProperty("IntTestProperty")), Expression.Constant(1)); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Subtract(e); string actualResult = sb.ToString(); string expectedResult = "(?IntTestProperty)-(1)"; Assert.AreEqual(expectedResult, actualResult); }
public void MultiplyTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = EH.CreateBinaryExpression(ExpressionType.Multiply, 10, 15); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.Multiply(e); string actualResult = sb.ToString(); string expectedResult = "(10)*(15)"; Assert.AreEqual(expectedResult, actualResult); }
public void XorTest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.ExclusiveOr(Expression.Constant(10), Expression.Constant(8)); target.StringBuilder = new StringBuilder(); target.ExclusiveOr(e); }
public void NETest() { LinqToSparqlExpTranslator<Track> target = new LinqToSparqlExpTranslator<Track>(); target.TypeTranslator = new XsdtTypeConverter(); Expression e = Expression.NotEqual(Expression.Constant(10), Expression.Constant(15)); StringBuilder sb = new StringBuilder(); target.StringBuilder = sb; target.NotEqual(e); string actualResult = sb.ToString(); string expectedResult = "(10)!=(15)"; Assert.AreEqual(expectedResult, actualResult); }