diff options
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)) +} |
