using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
namespace JavaScript.UnitTest
{
[TestFixture]
public class IncDec
{
[Test]
public void SimplePostInc()
{
JsEngine eng = new JsEngine();
string src =
"var x = 1;\r\n" +
"x++;";
Assert.AreEqual("1", eng.Eval(src).ToString(), "Post inc should return original value");
Assert.AreEqual("2", eng.Eval(src + "\r\nx;").ToString(), "Increment failed");
}
[Test]
public void SimplePostDec()
{
JsEngine eng = new JsEngine();
string src =
"var x = 1;\r\n" +
"x--;";
Assert.AreEqual("1", eng.Eval(src).ToString(), "Post dec should return original value");
Assert.AreEqual("0", eng.Eval(src + "\r\nx;").ToString(), "Decrement failed");
}
[Test]
public void SimplePreInc()
{
JsEngine eng = new JsEngine();
string src =
"var x = 1;\r\n" +
"++x;";
Assert.AreEqual("2", eng.Eval(src).ToString(), "Pre inc should return updated value");
Assert.AreEqual("2", eng.Eval(src + "\r\nx;").ToString(), "Assign failed?");
}
[Test]
public void SimplePreDec()
{
JsEngine eng = new JsEngine();
string src =
"var x = 1;\r\n" +
"--x;";
Assert.AreEqual("0", eng.Eval(src).ToString(), "Pre dec should return updated value");
Assert.AreEqual("0", eng.Eval(src + "\r\nx;").ToString(), "Assign failed?");
}
}
}