From 94d3d97645d8557eae96399ff908aeff2e39781e Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Sun, 15 Dec 2024 10:23:13 -0700 Subject: [PATCH] test fill --- cmd/server/games.go | 12 ++++++++---- cmd/server/games_test.go | 36 +++++++++++++++++++----------------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/cmd/server/games.go b/cmd/server/games.go index 1ae2286..1c834d1 100644 --- a/cmd/server/games.go +++ b/cmd/server/games.go @@ -471,14 +471,18 @@ var wordsHoliday string func (m AllKillWords) FillKillWords() AllKillWords { return m.fillKillWords( strings.Fields(wordsHoliday), + 1, strings.Fields(wordsHoliday), // TODO medium difficulty + 2, strings.Fields(wordsHoliday), // TODO hard difficulty ) } func (m AllKillWords) fillKillWords( - poolGlobal, - poolPublic, + poolGlobal []string, + nPublic int, + poolPublic []string, + nPrivate int, poolPrivate []string, ) AllKillWords { result := maps.Clone(m) @@ -490,14 +494,14 @@ func (m AllKillWords) fillKillWords( } if len(v.Assignment.Public) == 0 { v.Assignment.Public = []KillWord{} - for i := 0; i < 2; i++ { + for i := 0; i < nPublic; i++ { v.Assignment.Public = append(v.Assignment.Public, KillWord{Word: m.unusedPublic(poolPublic), Points: 50}) m[k] = v } } if len(v.Assignment.Private) == 0 { v.Assignment.Private = []KillWord{} - for i := 0; i < 2; i++ { + for i := 0; i < nPrivate; i++ { v.Assignment.Private = append(v.Assignment.Private, KillWord{Word: m.unusedPrivate(poolPrivate), Points: 100}) m[k] = v } diff --git a/cmd/server/games_test.go b/cmd/server/games_test.go index 7796f9d..95407e5 100644 --- a/cmd/server/games_test.go +++ b/cmd/server/games_test.go @@ -216,19 +216,19 @@ func TestParseEvent(t *testing.T) { } func TestAllKillWordsFill(t *testing.T) { - kw := func(w string) KillWord { - return KillWord{Word: w} + kw := func(p int, w string) KillWord { + return KillWord{Word: w, Points: p} } - kws := func(w string) []KillWord { + kws := func(points int, w string) []KillWord { if w == "" { return nil } - return []KillWord{kw(w)} + return []KillWord{kw(points, w)} } ass := func(pub, pri string) Assignment { return Assignment{ - Public: kws(pub), - Private: kws(pri), + Public: kws(50, pub), + Private: kws(100, pri), } } @@ -238,48 +238,48 @@ func TestAllKillWordsFill(t *testing.T) { }{ "full": { given: KillWords{ - Global: kw("global"), + Global: kw(-1, "global"), Assignment: ass("pub", "pri"), }, expect: KillWords{ - Global: kw("global"), + Global: kw(-1, "global"), Assignment: ass("pub", "pri"), }, }, "no ass": { given: KillWords{ - Global: kw("global"), + Global: kw(-1, "global"), Assignment: Assignment{}, }, expect: KillWords{ - Global: kw("global"), + Global: kw(-1, "global"), Assignment: ass("filled-public", "filled-private"), }, }, "no pub": { given: KillWords{ - Global: kw("global"), + Global: kw(-1, "global"), Assignment: ass("", "pri"), }, expect: KillWords{ - Global: kw("global"), - Assignment: ass("filled-public", "filled-private"), + Global: kw(-1, "global"), + Assignment: ass("filled-public", "pri"), }, }, "no pri": { given: KillWords{ - Global: kw("global"), + Global: kw(-1, "global"), Assignment: ass("pub", ""), }, expect: KillWords{ - Global: kw("global"), + Global: kw(-1, "global"), Assignment: ass("pub", "filled-private"), }, }, "empty": { given: KillWords{}, expect: KillWords{ - Global: kw("filled-global"), + Global: kw(-1, "filled-global"), Assignment: ass("filled-public", "filled-private"), }, }, @@ -288,7 +288,7 @@ func TestAllKillWordsFill(t *testing.T) { Assignment: ass("pub", "pri"), }, expect: KillWords{ - Global: kw("filled-global"), + Global: kw(-1, "filled-global"), Assignment: ass("pub", "pri"), }, }, @@ -307,7 +307,9 @@ func TestAllKillWordsFill(t *testing.T) { akw[name] = c.given akw = akw.fillKillWords( []string{"filled-global"}, + 1, []string{"filled-public"}, + 1, []string{"filled-private"}, ) got := akw[name]