Refactor/simplify interpreter

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-11-27 22:18:56 -08:00
parent 8fa1af1939
commit 98abc18658
4 changed files with 131 additions and 60 deletions
@@ -1,4 +1,5 @@
using System;
using System.Diagnostics;
using NUnit.Framework;
using Orchard.Widgets.SimpleScripting;
using Orchard.Widgets.SimpleScripting.Compiler;
@@ -9,14 +10,28 @@ namespace Orchard.Tests.Modules.SimpleScriptingTests {
[Test]
public void EvaluateSimpleConstant() {
var result = EvaluateSimpleExpression("true and true");
Assert.That(result.HasErrors, Is.False);
Assert.That(result.IsError, Is.False);
Assert.That(result.Value, Is.EqualTo(true));
}
[Test]
public void EvaluateInvalidBooleanExpression() {
var result = EvaluateSimpleExpression("true and 1");
Assert.That(result.IsError, Is.True);
Trace.WriteLine(string.Format("Evaluation error: {0}", result.Error.Message));
}
[Test]
public void EvaluateBooleanExpression() {
var result = EvaluateSimpleExpression("not true");
Assert.That(result.IsError, Is.False);
Assert.That(result.BoolValue, Is.EqualTo(false));
}
[Test]
public void EvaluateSimpleArithmetic() {
var result = EvaluateSimpleExpression("1 + 2 * 3 - 6 / 2");
Assert.That(result.HasErrors, Is.False);
Assert.That(result.IsError, Is.False);
Assert.That(result.Value, Is.EqualTo(4));
}