public void EvaluateSimpleNewExpression() { IExpression expression = new NewExpression("System.Data.DataSet", null); object result = expression.Evaluate(new Context()); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(System.Data.DataSet)); }
public void EvaluateNewExpression() { NewExpression expression = new NewExpression(new ConstantExpression("System.IO.FileInfo"), new IExpression[] { new ConstantExpression("myfile.txt") }); object result = expression.Evaluate(new ValueEnvironment()); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(System.IO.FileInfo)); }
public void EvaluateNewExpressionWithAliasedType() { IExpression expression = new NewExpression("Channel", null); BindingEnvironment environment = new BindingEnvironment(); environment.SetValue("Channel", typeof(Channel)); object result = expression.Evaluate(environment); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(Channel)); }
public void EvaluateNewExpressionWithAliasedType() { IExpression expression = new NewExpression("Lexer", new List <IExpression>() { new ConstantExpression(string.Empty) }); Context context = new Context(); context.SetValue("Lexer", typeof(Lexer)); object result = expression.Evaluate(context); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(Lexer)); }
public void EvaluateNewExpressionWithArguments() { IExpression expression = new NewExpression("System.IO.DirectoryInfo", new IExpression[] { new ConstantExpression(".") }); object result = expression.Evaluate(new Context()); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(System.IO.DirectoryInfo)); DirectoryInfo di = (DirectoryInfo)result; DirectoryInfo current = new DirectoryInfo("."); Assert.AreEqual(current.FullName, di.FullName); }
public void EvaluateNewExpressionUsingTypeName() { Context parent = new Context(); IExpression texpr = new DotExpression(new NameExpression("BScript"), "Context"); IList <IExpression> exprs = new List <IExpression>() { new ConstantExpression(parent) }; var expr = new NewExpression(texpr, exprs); var result = expr.Evaluate(null); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(Context)); var context = (Context)result; Assert.AreSame(parent, context.Parent); }