test fill
parent
eb3a30ec8a
commit
94d3d97645
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
Loading…
Reference in New Issue