From 54276b73eacfab6a5d6b899bd638f6cfe9499b80 Mon Sep 17 00:00:00 2001 From: Flu0r1ne Date: Sun, 5 Sep 2021 13:39:34 -0500 Subject: Refactor with scoring object --- scoring.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 scoring.go (limited to 'scoring.go') diff --git a/scoring.go b/scoring.go new file mode 100644 index 0000000..675058a --- /dev/null +++ b/scoring.go @@ -0,0 +1,31 @@ +package planr + +type Scoring struct { + EarnedPoints float64 + TotalPoints float64 + Passed int + Total int +} + +func Score(trs []TestResult) Scoring { + score := Scoring {} + + for _, tr := range trs { + cfg := tr.Tc.Config + points := 0.0 + + if cfg.Points != nil { + points = float64(*cfg.Points) + } + + score.TotalPoints += points + if tr.Status == PASSING { + score.EarnedPoints += points + score.Passed++ + } + + score.Total += 1 + } + + return score +} -- cgit v1.2.3