Simplified Result

This commit is contained in:
2024-09-24 12:56:10 -06:00
parent 9cab6d266d
commit f8bc7582a5
7 changed files with 142 additions and 207 deletions

View File

@ -30,12 +30,11 @@ func TestRegexp(t *testing.T) {
t.Run("basically works", func(t *testing.T) {
result, err := pbytes.Regexp("a")(gigaparsec.MakeState(cursor.NewSlice([]byte("a"))))
must.NoError(t, err)
failed, _, msg := result.Failed()
must.False(t, failed, must.Sprint(msg))
succeeded, consumed, value, _, _ := result.Succeeded()
must.False(t, result.Failed(), must.Sprint(result.Message()))
succeeded, value, _ := result.Succeeded()
test.True(t, succeeded)
test.True(t, consumed)
test.EqOp(t, "a", value)
test.True(t, result.Consumed())
})
}
@ -59,9 +58,8 @@ func TestMatchString(t *testing.T) {
readErr := pgen.Error().Draw(t, "readErr")
result, err := pbytes.MatchString(s)(gigaparsec.MakeState(cursor.NewReaderAt(ptest.ErrReaderAt(readErr))))
test.ErrorIs(t, err, readErr)
failed, consumed, _ := result.Failed()
test.True(t, failed)
test.False(t, consumed)
test.True(t, result.Failed())
test.False(t, result.Consumed())
}))
t.Run("does not succeed or consume on mismatch", rapid.MakeCheck(func(t *rapid.T) {
bgen := rapid.SliceOfN(rapid.Byte(), 1, 100)
@ -71,9 +69,8 @@ func TestMatchString(t *testing.T) {
result, err := pbytes.MatchString(s)(gigaparsec.MakeState(cursor.NewSlice(input)))
must.NoError(t, err)
failed, consumed, _ := result.Failed()
must.True(t, failed)
test.False(t, consumed)
must.True(t, result.Failed())
test.False(t, result.Consumed())
}))
t.Run("succeeds with correct value, consumption, and position", rapid.MakeCheck(func(t *rapid.T) {
input := rapid.SliceOfN(rapid.Byte(), 1, 100).Draw(t, "input")
@ -81,9 +78,9 @@ func TestMatchString(t *testing.T) {
s := string(input[:slen])
result, err := pbytes.MatchString(s)(gigaparsec.MakeState(cursor.NewSlice(input)))
must.NoError(t, err)
succeeded, consumed, value, next, _ := result.Succeeded()
succeeded, value, next := result.Succeeded()
must.True(t, succeeded)
test.True(t, consumed)
test.True(t, result.Consumed())
test.EqOp(t, s, value)
ptest.StateIsAt(t, next, uint64(slen))
}))