package horse_test import ( "cmp" "slices" "strings" "sync" "testing" "git.sunturtle.xyz/zephyr/horse" ) var SortedSkills = sync.OnceValue(func() []horse.Skill { skills := make([]horse.Skill, 0, len(horse.AllSkills)) for _, v := range horse.AllSkills { skills = append(skills, v) } slices.SortFunc(skills, func(a, b horse.Skill) int { return cmp.Compare(a.ID, b.ID) }) return skills }) func TestSkillStrings(t *testing.T) { t.Parallel() for _, s := range SortedSkills() { if n := s.ID.String(); strings.HasPrefix(n, "SkillID(") { t.Error(n) } // We could check that s.ID.String() matches s.Name, // but that may be awkward for inherited skills. for _, a := range s.Activations { for _, abil := range a.Abilities { if n := abil.Type.String(); strings.HasPrefix(n, "AbilityType(") { t.Errorf("%v %s: %s", s.ID, s.Name, n) } } } } }