From 804e761ba3eace8d103ab814bfbe7addc06ded3f Mon Sep 17 00:00:00 2001 From: liam Date: Tue, 24 Dec 2024 05:16:34 -0800 Subject: [PATCH] Improve parse test library failure messages --- test/parser.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/test/parser.go b/test/parser.go index 75e8557..4f529da 100644 --- a/test/parser.go +++ b/test/parser.go @@ -36,16 +36,20 @@ func RunTests[T any](t *testing.T, tests []ParserTest[T]) { t.Run(test.Name, func(t *testing.T) { in := NewInput(test.Input) match, ok, err := test.Parser(in) - assert.Equal(t, test.ExpectedOK, ok) - assert.Equal(t, test.ExpectedMatch, match) + if test.ExpectedOK { + assert.True(t, ok, "Expected match") + } else { + assert.False(t, ok, "Expected no match") + } + assert.Equal(t, test.ExpectedMatch, match, "Expected result doesn't match") if test.WantErr { - assert.Error(t, err) + assert.Error(t, err, "Expected error") } else { - assert.NoError(t, err) + assert.NoError(t, err, "Expected no error") } remaining, _, _ := StringWhileNot(EOF[string]())(in) - assert.Equal(t, test.RemainingInput, remaining) + assert.Equal(t, test.RemainingInput, remaining, "Remaining input doesn't match") }) } }