From e7922f79bc8da0b8ef96a080e463141bb5e79694 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 26 Jan 2026 16:44:09 +0100 Subject: pkg/aflow: add helper for tool testing Add simple codeeditor tests to test testing. --- pkg/aflow/func_tool.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'pkg/aflow/func_tool.go') 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)) +} -- cgit mrf-deployment