aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/aflow/func_tool.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2026-01-26 16:44:09 +0100
committerDmitry Vyukov <dvyukov@google.com>2026-01-26 17:04:48 +0000
commite7922f79bc8da0b8ef96a080e463141bb5e79694 (patch)
tree2f5905aae03c3cfd1b657d755668db6565f07972 /pkg/aflow/func_tool.go
parentcf894e043b8ae1ea6e4093d14f327ad678fa4cf3 (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.go19
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))
+}