32 lines
729 B
Go
32 lines
729 B
Go
package skills
|
|
|
|
import "testing"
|
|
|
|
func TestSkillPresetsCatalogIsValid(t *testing.T) {
|
|
presets, err := New(nil, "", nil).SkillPresets()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(presets) == 0 {
|
|
t.Fatal("场景预设目录不能为空")
|
|
}
|
|
seeded := make(map[string]struct{}, 128)
|
|
ids, err := builtinSeedSkillIDs()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
for _, id := range ids {
|
|
seeded[id] = struct{}{}
|
|
}
|
|
for _, preset := range presets {
|
|
if len(preset.SkillIDs) == 0 || len(preset.SkillIDs) > 8 {
|
|
t.Fatalf("%s 技能数超出 1-8", preset.PresetID)
|
|
}
|
|
for _, skillID := range preset.SkillIDs {
|
|
if _, ok := seeded[skillID]; !ok {
|
|
t.Fatalf("%s 引用未上架技能 %s", preset.PresetID, skillID)
|
|
}
|
|
}
|
|
}
|
|
}
|