From 04c8b228a55b066ed53b486ed6e5321174c94039 Mon Sep 17 00:00:00 2001 From: pnxenopoulos Date: Sat, 2 Sep 2023 11:33:30 -0400 Subject: [PATCH] add tests, make ptrs --- awpy/parser/parse_demo.go | 14 +++++++------- awpy/parser/parse_demo_test.go | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/awpy/parser/parse_demo.go b/awpy/parser/parse_demo.go index 76f236497..dc268abf4 100644 --- a/awpy/parser/parse_demo.go +++ b/awpy/parser/parse_demo.go @@ -138,9 +138,9 @@ type GameRound struct { WinningTeam *string `json:"winningTeam"` LosingTeam *string `json:"losingTeam"` Reason string `json:"roundEndReason"` - MVPName string `json:"mvpName"` - MVPSteamID int64 `json:"mvpSteamID"` - MVPReason string `json:"mvpReason"` + MVPName *string `json:"mvpName"` + MVPSteamID *int64 `json:"mvpSteamID"` + MVPReason *string `json:"mvpReason"` CTFreezeTimeEndEqVal int64 `json:"ctFreezeTimeEndEqVal"` CTRoundStartEqVal int64 `json:"ctRoundStartEqVal"` CTRoundMoneySpend int64 `json:"ctRoundSpendMoney"` @@ -568,7 +568,7 @@ func convertRoundMVPReason(r events.RoundMVPReason) string { case events.MVPReasonBombPlanted: return "MVPReasonBombPlanted" default: - return unknown + return "Unknown" } } @@ -1486,9 +1486,9 @@ func registerRoundEndHandler(demoParser *dem.Parser, currentGame *Game, currentR func registerRoundMVPHandler(demoParser *dem.Parser, currentRound *GameRound) { (*demoParser).RegisterEventHandler(func(e events.RoundMVPAnnouncement) { if e.Player != nil { - currentRound.MVPName = e.Player.Name - currentRound.MVPSteamID = int64(e.Player.SteamID64) - currentRound.MVPReason = convertRoundMVPReason(e.Reason) + currentRound.MVPName = *e.Player.Name + currentRound.MVPSteamID = *int64(e.Player.SteamID64) + currentRound.MVPReason = *convertRoundMVPReason(e.Reason) } }) } diff --git a/awpy/parser/parse_demo_test.go b/awpy/parser/parse_demo_test.go index 69c9e0713..b989ad088 100644 --- a/awpy/parser/parse_demo_test.go +++ b/awpy/parser/parse_demo_test.go @@ -4,8 +4,22 @@ import ( "testing" common "github.com/markus-wa/demoinfocs-golang/v3/pkg/demoinfocs/common" + events "github.com/markus-wa/demoinfocs-golang/v3/pkg/demoinfocs/events" ) +func TestConvertRoundMVPReason(t *testing.T) { + t.Parallel() + enumReasons := [events.MVPReasonMostEliminations, events.MVPReasonBombDefused, events.MVPReasonBombPlanted] + textReasons := []string{"MVPReasonMostEliminations", "MVPReasonBombDefused", "MVPReasonBombPlanted"} + for index, reason := enumReasons { + is := convertRoundMVPReason(reason) + want := textReasons[index] + if is != want { + t.Errorf("Round MVP reason value of %v should convert to %v, got %v", reason, want, is) + } + } +} + func TestConvertRank(t *testing.T) { t.Parallel() var rankInt int