summaryrefslogtreecommitdiff
path: root/llm/run_test.go
diff options
context:
space:
mode:
authorJonas Knobloch <jonas.knobloch@t-online.de>2026-03-25 21:50:15 +0100
committerJonas Knobloch <jonas.knobloch@t-online.de>2026-03-25 21:50:15 +0100
commita52a3cd0e6d6d999e93877150adf4c4ec19deff0 (patch)
treef10b6b1a35cb504d6b467b9e8adc87376282bbfd /llm/run_test.go
parent0c6a2cadf261945558c75256d32fadf569b4a48d (diff)
Refactor llm module
Diffstat (limited to 'llm/run_test.go')
-rw-r--r--llm/run_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/llm/run_test.go b/llm/run_test.go
new file mode 100644
index 0000000..fa974a7
--- /dev/null
+++ b/llm/run_test.go
@@ -0,0 +1,45 @@
+package llm
+
+import (
+ "fmt"
+ "testing"
+)
+
+func TestEvaluator_estimateJobs(t *testing.T) {
+ type gold struct {
+ tokens int
+ window int
+ stride int
+ expected int
+ }
+
+ tests := []gold{
+ {tokens: 20, window: 10, stride: 3, expected: 4},
+ {tokens: 20, window: 10, stride: 4, expected: 3},
+ {tokens: 20, window: 10, stride: 5, expected: 3},
+
+ {tokens: 0, window: 1, stride: 1, expected: 0},
+ {tokens: 1, window: 1, stride: 1, expected: 1},
+
+ {tokens: 0, window: 1024, stride: 1, expected: 0},
+ {tokens: 1, window: 1, stride: 1024, expected: 1},
+ }
+
+ e := NewEvaluator[any](nil, nil, nil)
+
+ for _, tt := range tests {
+ t.Run(
+ fmt.Sprintf("tokens%d_window%d_stride%d", tt.tokens, tt.window, tt.stride),
+
+ func(t *testing.T) {
+ tokens := make([]int64, tt.tokens)
+
+ got := e.estimateJobs(tokens, tt.window, tt.stride)
+
+ if got != tt.expected {
+ t.Errorf("expected %d but got (%d, %d, %d) = %d", tt.expected, tt.tokens, tt.window, tt.stride, got)
+ }
+ },
+ )
+ }
+}