@@ -61,52 +61,80 @@ func TestHighscoreCategoryInvalidValueString(t *testing.T) {
6161func TestHighscoreCategoryFromString (t * testing.T ) {
6262 assert := assert .New (t )
6363
64- assert .Equal (HighScoreExperience , HighscoreCategoryFromString ("experience" ))
65- assert .Equal (HighScoreExperience , HighscoreCategoryFromString ("" ))
66-
67- assert .Equal (HighScoreAchievements , HighscoreCategoryFromString ("achievements" ))
68- assert .Equal (HighScoreAchievements , HighscoreCategoryFromString ("achievement" ))
69-
70- assert .Equal (HighScoreAxefighting , HighscoreCategoryFromString ("axe" ))
71- assert .Equal (HighScoreAxefighting , HighscoreCategoryFromString ("axefighting" ))
72-
73- assert .Equal (HighScoreCharmpoints , HighscoreCategoryFromString ("charm" ))
74- assert .Equal (HighScoreCharmpoints , HighscoreCategoryFromString ("charms" ))
75- assert .Equal (HighScoreCharmpoints , HighscoreCategoryFromString ("charmpoints" ))
76- assert .Equal (HighScoreCharmpoints , HighscoreCategoryFromString ("charmspoints" ))
77-
78- assert .Equal (HighScoreClubfighting , HighscoreCategoryFromString ("club" ))
79- assert .Equal (HighScoreClubfighting , HighscoreCategoryFromString ("clubfighting" ))
80-
81- assert .Equal (HighScoreDistancefighting , HighscoreCategoryFromString ("distance" ))
82- assert .Equal (HighScoreDistancefighting , HighscoreCategoryFromString ("distancefighting" ))
83-
84- assert .Equal (HighScoreFishing , HighscoreCategoryFromString ("fishing" ))
85-
86- assert .Equal (HighScoreFistfighting , HighscoreCategoryFromString ("fist" ))
87- assert .Equal (HighScoreFistfighting , HighscoreCategoryFromString ("fistfighting" ))
88-
89- assert .Equal (HighScoreGoshnarstaint , HighscoreCategoryFromString ("goshnar" ))
90- assert .Equal (HighScoreGoshnarstaint , HighscoreCategoryFromString ("goshnars" ))
91- assert .Equal (HighScoreGoshnarstaint , HighscoreCategoryFromString ("goshnarstaint" ))
92-
93- assert .Equal (HighScoreLoyaltypoints , HighscoreCategoryFromString ("loyalty" ))
94- assert .Equal (HighScoreLoyaltypoints , HighscoreCategoryFromString ("loyaltypoints" ))
95-
96- assert .Equal (HighScoreMagiclevel , HighscoreCategoryFromString ("magic" ))
97- assert .Equal (HighScoreMagiclevel , HighscoreCategoryFromString ("mlvl" ))
98- assert .Equal (HighScoreMagiclevel , HighscoreCategoryFromString ("magiclevel" ))
99-
100- assert .Equal (HighScoreShielding , HighscoreCategoryFromString ("shielding" ))
101- assert .Equal (HighScoreShielding , HighscoreCategoryFromString ("shield" ))
102-
103- assert .Equal (HighScoreSwordfighting , HighscoreCategoryFromString ("sword" ))
104- assert .Equal (HighScoreSwordfighting , HighscoreCategoryFromString ("swordfighting" ))
105-
106- assert .Equal (HighScoreDromescore , HighscoreCategoryFromString ("drome" ))
107- assert .Equal (HighScoreDromescore , HighscoreCategoryFromString ("dromescore" ))
108-
109- assert .Equal (HighScoreBosspoints , HighscoreCategoryFromString ("boss" ))
110- assert .Equal (HighScoreBosspoints , HighscoreCategoryFromString ("bosses" ))
111- assert .Equal (HighScoreBosspoints , HighscoreCategoryFromString ("bosspoints" ))
64+ categoryTests := map [string ]struct {
65+ inputs []string
66+ expected HighscoreCategory
67+ }{
68+ "Experience" : {
69+ inputs : []string {"experience" , "" },
70+ expected : HighScoreExperience ,
71+ },
72+ "Achievements" : {
73+ inputs : []string {"achievements" , "achievement" },
74+ expected : HighScoreAchievements ,
75+ },
76+ "Axefighting" : {
77+ inputs : []string {"axe" , "axefighting" },
78+ expected : HighScoreAxefighting ,
79+ },
80+ "Charmpoints" : {
81+ inputs : []string {"charm" , "charms" , "charmpoints" , "charmspoints" },
82+ expected : HighScoreCharmpoints ,
83+ },
84+ "Clubfighting" : {
85+ inputs : []string {"club" , "clubfighting" },
86+ expected : HighScoreClubfighting ,
87+ },
88+ "Distancefighting" : {
89+ inputs : []string {"distance" , "distancefighting" },
90+ expected : HighScoreDistancefighting ,
91+ },
92+ "Fishing" : {
93+ inputs : []string {"fishing" },
94+ expected : HighScoreFishing ,
95+ },
96+ "Fistfighting" : {
97+ inputs : []string {"fist" , "fistfighting" },
98+ expected : HighScoreFistfighting ,
99+ },
100+ "Goshnarstaint" : {
101+ inputs : []string {"goshnar" , "goshnars" , "goshnarstaint" },
102+ expected : HighScoreGoshnarstaint ,
103+ },
104+ "Loyaltypoints" : {
105+ inputs : []string {"loyalty" , "loyaltypoints" },
106+ expected : HighScoreLoyaltypoints ,
107+ },
108+ "Magiclevel" : {
109+ inputs : []string {"magic" , "mlvl" , "magiclevel" },
110+ expected : HighScoreMagiclevel ,
111+ },
112+ "Shielding" : {
113+ inputs : []string {"shielding" , "shield" },
114+ expected : HighScoreShielding ,
115+ },
116+ "Swordfighting" : {
117+ inputs : []string {"sword" , "swordfighting" },
118+ expected : HighScoreSwordfighting ,
119+ },
120+ "Dromescore" : {
121+ inputs : []string {"drome" , "dromescore" },
122+ expected : HighScoreDromescore ,
123+ },
124+ "Bosspoints" : {
125+ inputs : []string {"boss" , "bosses" , "bosspoints" },
126+ expected : HighScoreBosspoints ,
127+ },
128+ }
129+
130+ for category , data := range categoryTests {
131+ t .Run (category , func (t * testing.T ) {
132+ for _ , input := range data .inputs {
133+ t .Run (input , func (t * testing.T ) {
134+ result := HighscoreCategoryFromString (input )
135+ assert .Equal (data .expected , result , "unexpected result for input: %s" , input )
136+ })
137+ }
138+ })
139+ }
112140}
0 commit comments