Files
ARM64/AxiomUnitTests/ParserTests.cs
Sean 69ce297f9f
Some checks failed
Build .NET Project / build (push) Has been cancelled
Add Axiom Unit Tests
2026-03-19 15:01:49 -04:00

37 lines
1.3 KiB
C#
Executable File

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
using Axiom.Utils;
using Axiom.Interpreter;
using System.IO;
namespace AxiomUnitTestProject
{
[TestClass]
public class ParserTests
{
[TestMethod]
public void ParserShouldParseAll()
{
List<String> codeLines = TestData.CodeLines();
foreach(String expression in codeLines)
{
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=true;
parser.Parse();
Assert.IsFalse(parser.IsInError,parser.LastMessage);
}
}
}
}