public void CanParseFullInstruction() { WooComputer.Assembler.AssemblerAnalyzer analyzer = new WooComputer.Assembler.AssemblerAnalyzer(); WooComputer.Assembler a = new WooComputer.Assembler(16, @" (GO) @variable1 @variable2 D=D+1 (Stop) @variable3 D=D+1 ", analyzer); var output = a.GetOutput(); Assert.IsTrue(output.Count() == 3); var variables = analyzer.GetVariableTable(); Assert.IsTrue(variables.Count() == 3); Assert.IsTrue(variables.ContainsKey("variable1")); Assert.IsTrue(variables.ContainsKey("variable2")); Assert.IsTrue(variables.ContainsKey("variable3")); Assert.IsTrue(variables["variable1"] == 16); Assert.IsTrue(variables["variable2"] == 17); Assert.IsTrue(variables["variable3"] == 18); var labels = analyzer.GetLabelTable(); Assert.IsTrue(labels.Count() == 2); Assert.IsTrue(labels.ContainsKey("GO")); Assert.IsTrue(labels.ContainsKey("Stop")); }
public void CanParseLabel() { WooComputer.Assembler.AssemblerAnalyzer analyzer = new WooComputer.Assembler.AssemblerAnalyzer(); WooComputer.Assembler a = new WooComputer.Assembler(16, @" (GO) D=D+1 whatever do stuff (Stop) labelstarthere stuff xxxx ",analyzer); var output = a.GetOutput(); var symbols = analyzer.GetLabelTable(); Assert.IsTrue(symbols.Count() == 2); Assert.IsTrue(symbols.ContainsKey("GO")); Assert.IsTrue(symbols.ContainsKey("Stop")); }
public void CanParseVariable() { WooComputer.Assembler.AssemblerAnalyzer analyzer = new WooComputer.Assembler.AssemblerAnalyzer(); WooComputer.Assembler a = new WooComputer.Assembler(16, @" (GO) @variable1 @variable2 do stuff (Stop) @variable3 xxxx ", analyzer); var output = a.GetOutput(); Assert.IsTrue(output.Count() == 3); var variables = analyzer.GetVariableTable(); Assert.IsTrue(variables.Count() == 3); Assert.IsTrue(variables.ContainsKey("variable1")); Assert.IsTrue(variables.ContainsKey("variable2")); Assert.IsTrue(variables.ContainsKey("variable3")); Assert.IsTrue(variables["variable1"] == 16); Assert.IsTrue(variables["variable2"] == 17); Assert.IsTrue(variables["variable3"] == 18); }