Enable processing of For Loops.

This commit is contained in:
2026-03-19 16:23:20 -04:00
parent 4d7d246431
commit f3c4a1b537
12 changed files with 608 additions and 149 deletions

View File

@@ -176,6 +176,71 @@ namespace AxiomUnitTestProject
Assert.IsTrue(codeRunner.GetValue<double>("B").Equals(5));
}
[TestMethod]
public void ForStatementVariant3()
{
String expression=@"
DECLARE A,J,TOTAL;
A=1;
J=1;
TOTAL=0;
FOR(A=1;A<=10;A=A+1)
{
FOR(J=1;J<=10;J=J+1)
{
BREAK;
TOTAL=TOTAL+1
}
}
";
CodeRunner codeRunner = new CodeRunner();
Assert.IsTrue(codeRunner.Execute(expression),codeRunner.LastMessage);
Assert.IsTrue(codeRunner.GetValue<double>("J").Equals(1));
Assert.IsTrue(codeRunner.GetValue<double>("A").Equals(11));
Assert.IsTrue(codeRunner.GetValue<double>("TOTAL").Equals(0));
}
[TestMethod]
public void ForStatementVariant2()
{
String expression=@"
DECLARE A,J,TOTAL;
A=1;
J=1;
TOTAL=0;
FOR(A=1;A<=10;A=A+1)
{
FOR(J=1;J<=10;J=J+1)
{
TOTAL=TOTAL+1;
}
}
";
CodeRunner codeRunner = new CodeRunner();
Assert.IsTrue(codeRunner.Execute(expression),codeRunner.LastMessage);
Assert.IsTrue(codeRunner.GetValue<double>("J").Equals(11));
Assert.IsTrue(codeRunner.GetValue<double>("A").Equals(11));
Assert.IsTrue(codeRunner.GetValue<double>("TOTAL").Equals(100));
}
[TestMethod]
public void ForStatementVariant1()
{
String expression=@"
DECLARE A,J;
A=1;
J=1;
FOR(A=1;A<10;A=A+1)
{
J=J+1;
}
";
CodeRunner codeRunner = new CodeRunner();
Assert.IsTrue(codeRunner.Execute(expression),codeRunner.LastMessage);
Assert.IsTrue(codeRunner.GetValue<double>("J").Equals(10));
Assert.IsTrue(codeRunner.GetValue<double>("A").Equals(10));
}
[TestMethod]
public void WhileStatementVariant4()
{