41 lines
831 B
Go
41 lines
831 B
Go
package generator_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/iliadenisov/galaxy/pkg/generator"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestGenerator(t *testing.T) {
|
|
for players := 10; players <= 50; players++ {
|
|
var s generator.MapSetting
|
|
m, err := generator.Generate(func(ms *generator.MapSetting) {
|
|
ms.Players = uint32(players)
|
|
s = *ms
|
|
})
|
|
if err != nil {
|
|
t.Errorf("generate: %s", err)
|
|
break
|
|
}
|
|
assert.Equal(t, players, len(m.HomePlanets), "hw count")
|
|
for i := range m.HomePlanets {
|
|
assert.Equal(t, int(s.DWCount), len(m.HomePlanets[i].DW), "hw #%d: dw count", i)
|
|
}
|
|
}
|
|
}
|
|
|
|
func BenchmarkGenerator(b *testing.B) {
|
|
i := 0
|
|
for b.Loop() {
|
|
i++
|
|
b.Run(fmt.Sprintf("instance #%02d", i), func(b *testing.B) {
|
|
_, err := generator.Generate()
|
|
if err != nil {
|
|
b.Error(err)
|
|
}
|
|
})
|
|
}
|
|
}
|