Exemple #1
0
        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));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }