diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2026-01-26 16:44:09 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2026-01-26 17:04:48 +0000 |
| commit | e7922f79bc8da0b8ef96a080e463141bb5e79694 (patch) | |
| tree | 2f5905aae03c3cfd1b657d755668db6565f07972 /pkg/aflow/func_tool.go | |
| parent | cf894e043b8ae1ea6e4093d14f327ad678fa4cf3 (diff) | |
pkg/aflow: add helper for tool testing
Add simple codeeditor tests to test testing.
Diffstat (limited to 'pkg/aflow/func_tool.go')
| -rw-r--r-- | pkg/aflow/func_tool.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkg/aflow/func_tool.go b/pkg/aflow/func_tool.go index 220cb8f2b..b67830115 100644 --- a/pkg/aflow/func_tool.go +++ b/pkg/aflow/func_tool.go @@ -5,7 +5,10 @@ package aflow import ( "fmt" + "reflect" + "testing" + "github.com/stretchr/testify/require" "google.golang.org/genai" ) @@ -77,3 +80,19 @@ func (t *funcTool[State, Args, Results]) verify(ctx *verifyContext) { requireSchema[Results](ctx, t.Name, "Results") requireInputs[State](ctx, t.Name) } + +func (*funcTool[State, Args, Results]) checkTestTypes(t *testing.T, ctx *verifyContext, state, args, results any) ( + map[string]any, map[string]any, map[string]any) { + require.Equal(t, reflect.TypeFor[State](), reflect.TypeOf(state)) + require.Equal(t, reflect.TypeFor[Args](), reflect.TypeOf(args)) + require.Equal(t, reflect.TypeFor[Results](), reflect.TypeOf(results)) + provideOutputs[State](ctx, "state") + return convertToMap(state.(State)), convertToMap(args.(Args)), convertToMap(results.(Results)) +} + +func (*funcTool[State, Args, Results]) checkFuzzTypes(t *testing.T, state, args any) ( + map[string]any, map[string]any) { + require.Equal(t, reflect.TypeFor[State](), reflect.TypeOf(state)) + require.Equal(t, reflect.TypeFor[Args](), reflect.TypeOf(args)) + return convertToMap(state.(State)), convertToMap(args.(Args)) +} |
