public void EvaluateUndefinedVariable() { Context context = new Context(); NameExpression expr = new NameExpression("Foo"); Assert.IsNull(expr.Evaluate(context)); }
public void GetNullOnUndefined() { Context context = new Context(); NameExpression expression = new NameExpression("foo"); Assert.IsNull(expression.Evaluate(context)); }
public void RaiseIfNameIsUndefined() { NameExpression expression = new NameExpression("foo"); BindingEnvironment environment = new BindingEnvironment(); expression.Evaluate(environment); }
public void EvaluateDefinedVariable() { Context context = new Context(); context.SetValue("One", 1); NameExpression expr = new NameExpression("One"); Assert.AreEqual(1, expr.Evaluate(context)); }
public void EvaluateDefinedName() { NameExpression expr = new NameExpression("one"); Context context = new Context(); context.SetLocalValue("one", 1); Assert.AreEqual(1, expr.Evaluate(context)); }
public void CreateAndEvaluateUnknownNameExpression() { var ctx = new Context(); var expr = new NameExpression("Unknown"); Assert.AreEqual("Unknown", expr.Name); Assert.IsNull(expr.Evaluate(ctx)); }
public void GetValue() { Context context = new Context(); context.SetMember("one", 1); NameExpression expression = new NameExpression("one"); Assert.AreEqual(1, expression.Evaluate(context)); }
public void ShouldEvaluateName() { IExpression expression = new NameExpression("foo"); ValueEnvironment environment = new ValueEnvironment(); environment.SetValue("foo", "bar"); Assert.AreEqual("bar", expression.Evaluate(environment)); }
public void EvaluateNameExpression() { NameExpression expression = new NameExpression("foo"); BindingEnvironment environment = new BindingEnvironment(); environment.SetValue("foo", "bar"); Assert.AreEqual("bar", expression.Evaluate(environment)); }
public void EvaluateDefinedFunction() { Machine machine = new Machine(); NameExpression expr = new NameExpression("foo"); Context context = machine.RootContext; context.Self.Class.SetInstanceMethod("foo", new DefinedFunction(new ConstantExpression(1), new string[0], context)); Assert.AreEqual(1, expr.Evaluate(context)); }
public void EvaluateNameWithNull() { NameExpression expression = new NameExpression("foo"); BindingEnvironment environment = new BindingEnvironment(); environment.SetValue("foo", null); Assert.IsNull(expression.Evaluate(environment)); }
public void CreateAndEvaluateNameExpression() { var ctx = new Context(); ctx.SetValue("Answer", 42); var expr = new NameExpression("Answer"); Assert.AreEqual("Answer", expr.Name); Assert.AreEqual(42, expr.Evaluate(ctx)); }
public void EvaluateUndefinedConstant() { NameExpression expr = new NameExpression("Foo"); Context context = new Context(); try { expr.Evaluate(context); Assert.Fail(); } catch (Exception ex) { Assert.IsInstanceOfType(ex, typeof(NameError)); Assert.AreEqual("unitialized constant Foo", ex.Message); } }
public void EvaluateUndefinedName() { NameExpression expr = new NameExpression("foo"); Context context = new Context(); try { expr.Evaluate(context); Assert.Fail(); } catch (Exception ex) { Assert.IsInstanceOfType(ex, typeof(NameError)); Assert.AreEqual("undefined local variable or method 'foo'", ex.Message); } }
public void RaiseIfNameIsUndefined() { NameExpression expression = new NameExpression("foo"); BindingEnvironment environment = new BindingEnvironment(); try { expression.Evaluate(environment); Assert.Fail("Exception expected"); } catch (Exception ex) { Assert.IsInstanceOfType(ex, typeof(NameError)); Assert.AreEqual("name 'foo' is not defined", ex.Message); } }
public void EvaluateDefinedMethod() { Context context = new Context(); IList <ICommand> commandlist = new List <ICommand>(); commandlist.Add(new SetVariableCommand("a", new ConstantExpression(1))); commandlist.Add(new SetVariableCommand("b", new ConstantExpression(2))); commandlist.Add(new ExpressionCommand(new NameExpression("b"))); CompositeCommand commands = new CompositeCommand(commandlist); DefinedMethod method = new DefinedMethod(null, commands); context.SetValue("foo", method); NameExpression expr = new NameExpression("foo"); object result = expr.Evaluate(context); Assert.IsNotNull(result); Assert.AreEqual(method, result); }