package main import ( "testing" "time" ) func TestRemainingFrameTime(t *testing.T) { start := time.Date(2026, time.September, 2, 0, 0, 0, 0, time.UTC) interval := 16 * time.Millisecond tests := []struct { name string elapsed time.Duration want time.Duration }{ {name: "no work", want: interval}, {name: "partial budget", elapsed: 5 * time.Millisecond, want: 11 * time.Millisecond}, {name: "exact budget", elapsed: interval}, {name: "over budget", elapsed: 20 * time.Millisecond}, } for _, test := range tests { t.Run(test.name, func(t *testing.T) { got := remainingFrameTime(start, start.Add(test.elapsed), interval) if got != test.want { t.Fatalf("remainingFrameTime() = %v, want %v", got, test.want) } }) } }