public void ExpressionPropertyTests_StringExpression() { var data = new { test = "joe" }; var str = new StringExpression("test"); Assert.AreEqual("=`test`", str.ExpressionText); Assert.IsNull(str.Value); Assert.AreEqual(str.ToString(), JsonConvert.DeserializeObject <StringExpression>(JsonConvert.SerializeObject(str, settings: settings), settings: settings).ToString()); var(result, error) = str.TryGetValue(data); Assert.AreEqual("test", result); Assert.IsNull(error); str = new StringExpression("=test"); Assert.AreEqual("=test", str.ExpressionText); Assert.IsNull(str.Value); Assert.AreEqual(str.ToString(), JsonConvert.DeserializeObject <StringExpression>(JsonConvert.SerializeObject(str, settings: settings), settings: settings).ToString()); (result, error) = str.TryGetValue(data); Assert.AreEqual("joe", result); Assert.IsNull(error); str = new StringExpression("Hello ${test}"); Assert.AreEqual("=`Hello ${test}`", str.ExpressionText); Assert.IsNull(str.Value); Assert.AreEqual(str.ToString(), JsonConvert.DeserializeObject <StringExpression>(JsonConvert.SerializeObject(str, settings: settings), settings: settings).ToString()); (result, error) = str.TryGetValue(data); Assert.AreEqual("Hello joe", result); Assert.IsNull(error); }
public void CreateAndEvaluateStringExpression() { StringExpression expression = new StringExpression("foo"); Assert.AreEqual("foo", expression.Value); Assert.AreEqual("\"foo\"", expression.ToString()); this.EvaluateZeroExpression(expression, "foo"); }
public void ExpressionPropertyTests_StringExpression() { var data = new { test = "joe" }; var str = new StringExpression("test"); Assert.Equal("=`test`", str.ExpressionText); Assert.Null(str.Value); Assert.Equal(str.ToString(), JsonConvert.DeserializeObject <StringExpression>(JsonConvert.SerializeObject(str, settings: settings), settings: settings).ToString()); var(result, error) = str.TryGetValue(data); Assert.Equal("test", result); Assert.Null(error); str = new StringExpression("=test"); Assert.Equal("=test", str.ExpressionText); Assert.Null(str.Value); Assert.Equal(str.ToString(), JsonConvert.DeserializeObject <StringExpression>(JsonConvert.SerializeObject(str, settings: settings), settings: settings).ToString()); (result, error) = str.TryGetValue(data); Assert.Equal("joe", result); Assert.Null(error); str = new StringExpression("Hello ${test}"); Assert.Equal("=`Hello ${test}`", str.ExpressionText); Assert.Null(str.Value); Assert.Equal(str.ToString(), JsonConvert.DeserializeObject <StringExpression>(JsonConvert.SerializeObject(str, settings: settings), settings: settings).ToString()); (result, error) = str.TryGetValue(data); Assert.Equal("Hello joe", result); Assert.Null(error); // slashes are the chars str = new StringExpression("c:\\test\\test\\test"); (result, error) = str.TryGetValue(data); Assert.Equal("c:\\test\\test\\test", result); Assert.Null(error); // tabs are the chars str = new StringExpression("c:\test\test\test"); (result, error) = str.TryGetValue(data); Assert.Equal("c:\test\test\test", result); Assert.Null(error); // test backtick in stringExpression str = new StringExpression("test `name"); Assert.Equal("test `name", str.TryGetValue(data).Value); str = new StringExpression("test //`name"); Assert.Equal("test //`name", str.TryGetValue(data).Value); }
public void StringExpressionProducesStringThroughConstructor() { string[] strings = new [] { "one", "two", "three" }; StringExpression expression; foreach (var s in strings) { expression = new StringExpression(s); Assert.AreEqual("\"" + s + "\";", expression.ToString()); } expression = new StringExpression(); foreach (var s in strings) { expression.Value = s; Assert.AreEqual(s, expression.Value); } }
public void StringExpressionProducesEmptyString() { var s = new StringExpression(); Assert.AreEqual("\"\";", s.ToString()); }
protected override string VisitStringExpression(StringExpression exp, out object retObject) { retObject = null; return(exp.ToString()); }