TRD-0002 Commit Tests

This commit is contained in:
2024-02-23 13:24:57 -05:00
parent f0f34555e4
commit 03096f2c48

View File

@@ -12,6 +12,58 @@ namespace AxiomUnitTestProject
[TestClass] [TestClass]
public class AssemblerTests public class AssemblerTests
{ {
[TestMethod]
public void BreakStatementVariant6()
{
String expression=@"
A=1;
WHILE(A<10)
{
BREAK;
BREAK;
}";
CodeRunner codeRunner = new CodeRunner();
Assert.IsFalse(codeRunner.Execute(expression),codeRunner.LastMessage);
}
[TestMethod]
public void BreakStatementVariant5()
{
String expression=@"
A=1;
B=1;
C=1;
D=1;
WHILE(A<10)
{
WHILE(B<10)
{
WHILE(C<10)
{
WHILE(D<10)
{
A=A+1;
B=B+1;
C=C+1;
D=D+1;
IF(D==10)THEN BREAK;
BREAK;
}
BREAK;
}
BREAK;
}
BREAK;
}";
CodeRunner codeRunner = new CodeRunner();
Assert.IsTrue(codeRunner.Execute(expression),codeRunner.LastMessage);
Assert.IsTrue(codeRunner.GetValue<double>("A").Equals(2));
Assert.IsTrue(codeRunner.GetValue<double>("B").Equals(2));
Assert.IsTrue(codeRunner.GetValue<double>("C").Equals(2));
Assert.IsTrue(codeRunner.GetValue<double>("D").Equals(2));
}
[TestMethod] [TestMethod]
public void BreakStatementVariant4() public void BreakStatementVariant4()
{ {
@@ -691,46 +743,6 @@ namespace AxiomUnitTestProject
Assert.IsTrue(codeRunner.ParseSymbolsCount.Equals(0),"Expected parse symbols to be zero."); Assert.IsTrue(codeRunner.ParseSymbolsCount.Equals(0),"Expected parse symbols to be zero.");
} }
} }
//[TestMethod]
//public void AssembleAllData()
//{
// List<String> codeLines=TestData.CodeLines();
// foreach(String expression in codeLines)
// {
// Console.WriteLine("*********************************************************************************************************************************");
// BinaryWriter binaryWriter=new BinaryWriter(new MemoryStream());
// SymbolTable symbolTable = new SymbolTable();
// BinaryReader binaryReader = null;
// binaryReader = new BinaryReader(Utility.StreamFromString(expression));
// Scanner scanner = new Scanner(binaryReader, binaryWriter, symbolTable);
// scanner.Debug=false;
// Console.WriteLine("Expression:\""+expression+"\"");
// Assert.IsTrue(scanner.Analyze());
// binaryWriter.BaseStream.Seek(0, SeekOrigin.Begin);
// BinaryReader parserReader = new BinaryReader(binaryWriter.BaseStream);
// BinaryWriter parserWriter = new BinaryWriter(new MemoryStream());
// Parser parser = new Parser(parserReader,parserWriter,symbolTable);
// parser.Debug=false;
// parser.Parse();
// Assert.IsFalse(parser.IsInError);
// parserWriter.BaseStream.Seek(0, SeekOrigin.Begin);
// BinaryReader assemblerReader = new BinaryReader(parserWriter.BaseStream);
// Assembler assembler = new Assembler(assemblerReader, symbolTable);
// bool result=assembler.Assemble();
// assembler.Disassemble();
// Assert.IsTrue(result);
// Console.WriteLine("********************************************************* O U T P U T ************************************************");
// List<Symbol> list = new List<Symbol>(symbolTable.Values);
// list=(from Symbol symbol in list where (symbol.TypeOfSymbol.Equals(Symbol.SymbolType.UserSymbol)||symbol.TypeOfSymbol.Equals(Symbol.SymbolType.UserDynamicSymbol)) && symbol.IsModified select symbol).ToList();
// foreach (Symbol symbol in list)
// {
// Console.WriteLine(String.Format("SYMBOL NAME:'{0}',VALUE:'{1}'",symbol.SymbolName,null==symbol.GenericData?"<null>":symbol.GenericData.ToString()));
// }
// Console.WriteLine("*********************************************************************************************************************************");
// assembler.Dispose();
// }
//}
} }
} }