33 lines
1010 B
Go
33 lines
1010 B
Go
package promptkit
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestGenerationErrorNilAndZeroValue(t *testing.T) {
|
|
var nilError *GenerationError
|
|
zeroError := &GenerationError{}
|
|
|
|
for name, err := range map[string]*GenerationError{
|
|
"nil": nilError,
|
|
"zero": zeroError,
|
|
} {
|
|
t.Run(name, func(t *testing.T) {
|
|
if err.StatusCode() != 0 || err.ProviderCode() != "" || err.ProviderType() != "" || err.ProviderMessage() != "" {
|
|
t.Fatalf("accessors returned provider details: %#v", err)
|
|
}
|
|
if err.Error() != "failed to generate output" || err.GoString() != "failed to generate output" {
|
|
t.Fatalf("redacted formatting = (%q, %q)", err.Error(), err.GoString())
|
|
}
|
|
if fmt.Sprintf("%v", err) != "failed to generate output" || fmt.Sprintf("%#v", err) != "failed to generate output" {
|
|
t.Fatalf("formatted error = (%q, %q)", fmt.Sprintf("%v", err), fmt.Sprintf("%#v", err))
|
|
}
|
|
if !errors.Is(err, ErrLLMGenerate) {
|
|
t.Fatalf("errors.Is(%v, ErrLLMGenerate) = false", err)
|
|
}
|
|
})
|
|
}
|
|
}
|