TRD-0002 Commit Tests
This commit is contained in:
@@ -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();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user