diff options
| author | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-03-24 20:44:23 +0100 |
|---|---|---|
| committer | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-03-24 20:44:23 +0100 |
| commit | 87bbece7e0400af29c52e34ebb794d74498d13a9 (patch) | |
| tree | ae9035ce9fd9c20cb8f5ebb8f2dd3e8d20b5acdb /tokenizer/bpe/split/fsa_test.go | |
| parent | 8079a927dcb69e8046a9187a73d1e2d8da2307f9 (diff) | |
Preserve per-byte error replacements
Diffstat (limited to 'tokenizer/bpe/split/fsa_test.go')
| -rw-r--r-- | tokenizer/bpe/split/fsa_test.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tokenizer/bpe/split/fsa_test.go b/tokenizer/bpe/split/fsa_test.go index be11e79..9188d99 100644 --- a/tokenizer/bpe/split/fsa_test.go +++ b/tokenizer/bpe/split/fsa_test.go @@ -38,3 +38,30 @@ func BenchmarkFSA_FindAllReference(b *testing.B) { _ = f.FindAll(s) } } + +func FuzzFSA_FindAll(f *testing.F) { + fsa := NewFSA() + + ref := mbpe.NewFSA() + + f.Add("foo") + f.Add(" ") + f.Add("\n") + f.Add(" bar") + + f.Fuzz(func(t *testing.T, s string) { + out := fsa.FindAll(s) + + expected := ref.FindAll(s) + + if len(out) != len(expected) { + t.Fatalf("expected %s but got %s", expected, out) + } + + for i, m := range out { + if m != expected[i] { + t.Errorf("expected [%s] but got [%s]", expected[i], m) + } + } + }) +} |
