From ac40fa96e535abc2e13444a129dc35ce95d35cc4 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Tue, 16 Aug 2022 01:55:22 -0400 Subject: [PATCH] Improved parser test Created new cases involving mutable data and phrase initialization arguments, and always print out the correct and parsed trees. --- parser/parser_test.go | 15 +++++++++------ tests/parser/data/main.arf | 7 +++++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/parser/parser_test.go b/parser/parser_test.go index fb2bd17..3ec8c0e 100644 --- a/parser/parser_test.go +++ b/parser/parser_test.go @@ -6,6 +6,12 @@ import "testing" func checkTree (modulePath string, correct string, test *testing.T) { tree, err := Parse(modulePath) + treeString := tree.ToString(0) + + test.Log("CORRECT TREE:") + test.Log(correct) + test.Log("WHAT WAS PARSED:") + test.Log(treeString) if err != io.EOF && err != nil { test.Log("returned error:") @@ -14,13 +20,8 @@ func checkTree (modulePath string, correct string, test *testing.T) { return } - treeString := tree.ToString(0) if treeString != correct { test.Log("trees not equal!") - test.Log("CORRECT TREE:") - test.Log(correct) - test.Log("WHAT WAS PARSED:") - test.Log(treeString) test.Fail() return } @@ -42,7 +43,9 @@ func TestData (test *testing.T) { `:arf --- data wr integer:Int 3202 -data wr integerPointer:{Int} +data wr mutInteger:Int:mut 3202 +data wr integerPointer:{Int} [& integer] +data wr mutIntegerPointer:{Int}:mut [& integer] data wr integerArray16:{Int 16} data wr integerArrayVariable:{Int ...} data wr integerArrayInitialized:{Int 16} diff --git a/tests/parser/data/main.arf b/tests/parser/data/main.arf index b7cedc3..3314221 100644 --- a/tests/parser/data/main.arf +++ b/tests/parser/data/main.arf @@ -3,8 +3,11 @@ data wr integer:Int 3202 -data wr integerPointer:{Int} -# TODO: data wr integerPointer:{Int} [& integer] +data wr mutInteger:Int:mut 3202 + +data wr integerPointer:{Int} [& integer] + +data wr mutIntegerPointer:{Int}:mut [& integer] data wr integerArray16:{Int 16}