Browse Source

Add: test

AnnulusGames 11 months ago
parent
commit
20ffd859e7
1 changed files with 29 additions and 0 deletions
  1. 29 0
      tests/Lua.Tests/ParserTests.cs

+ 29 - 0
tests/Lua.Tests/ParserTests.cs

@@ -0,0 +1,29 @@
+using Lua.CodeAnalysis.Syntax;
+using Lua.CodeAnalysis.Syntax.Nodes;
+
+namespace Lua.Tests
+{
+    // TODO: add more tests
+
+    public class ParserTests
+    {
+        [Test]
+        public void Test_If_ElseIf_Else_Empty()
+        {
+            var source =
+@"if true then
+elseif true then
+else
+end";
+            var actual = LuaSyntaxTree.Parse(source).Nodes[0];
+            var expected = new IfStatementNode(
+                new() { ConditionNode = new BooleanLiteralNode(true, new(1, 3)), ThenNodes = [] },
+                [new() { ConditionNode = new BooleanLiteralNode(true, new(2, 7)), ThenNodes = [] }],
+                [],
+                new(1, 0));
+
+            Assert.That(actual, Is.TypeOf<IfStatementNode>());
+            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
+        }
+    }
+}