wip: refactor controller

This commit is contained in:
Ilia Denisov
2026-01-14 22:17:24 +02:00
parent 1bfc9242af
commit fe8a8d4150
43 changed files with 4710 additions and 2188 deletions
+30
View File
@@ -52,3 +52,33 @@ func g(t *testing.T, f func(p func(*controller.Param), g func() *mg.Game)) {
}
f(p, g)
}
func c(t *testing.T, f func(p func(*controller.Param), g func() *controller.Controller)) {
root, cleanup := util.CreateWorkDir(t)
defer cleanup()
races := make([]string, testRaceCount)
for i := range testRaceCount {
races[i] = raceNum(i)
}
p := func(p *controller.Param) { p.StoragePath = root }
_, err := game.GenerateGame(p, races)
if err != nil {
assert.FailNow(t, "c: GenerateGame", err)
return
}
g := func() *controller.Controller {
c, err := controller.NewController(p)
if err != nil {
assert.FailNow(t, "c: NewController", err)
return nil
}
g, err := game.LoadState(p)
if err != nil {
assert.FailNow(t, "c: LoadState", err)
return nil
}
c.Cache = controller.NewCache(g)
return c
}
f(p, g)
}