Skip to content

Commit

Permalink
Handling upper and lower-case words better.
Browse files Browse the repository at this point in the history
  • Loading branch information
archy-bold committed Jan 6, 2022
1 parent 13c75c2 commit 1db5348
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
3 changes: 2 additions & 1 deletion game/game.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ func (g *game) Play(word string) (bool, error) {
// TODO check the word length here and error if too long/short

// Create the row for the grid
word = strings.ToLower(word)
parts := strings.Split(word, "")
answerParts := strings.Split(g.answer, "")
row := make([]GridCell, len(parts))
Expand Down Expand Up @@ -111,5 +112,5 @@ func CreateGame(answer string, tries int) Game {
// TODO include valid entries
grid := make(Grid, tries)

return &game{false, 0, answer, grid}
return &game{false, 0, strings.ToLower(answer), grid}
}
22 changes: 14 additions & 8 deletions game/game_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ var createGameTests = map[string]struct {
tries int
expected *game
}{
"5 letter, 6 tries": {"tapir", 6, &game{false, 0, "tapir", Grid{nil, nil, nil, nil, nil, nil}}},
"3 letter, 3 tries": {"bat", 3, &game{false, 0, "bat", Grid{nil, nil, nil}}},
// "5 letter, uppercase": {"TAPIR", 6, &game{false, 0, "tapir", Grid{nil, nil, nil, nil, nil, nil}}},
"5 letter, 6 tries": {"tapir", 6, &game{false, 0, "tapir", Grid{nil, nil, nil, nil, nil, nil}}},
"3 letter, 3 tries": {"bat", 3, &game{false, 0, "bat", Grid{nil, nil, nil}}},
"5 letter, uppercase": {"TAPIR", 6, &game{false, 0, "tapir", Grid{nil, nil, nil, nil, nil, nil}}},
}

func Test_CreateGame(t *testing.T) {
Expand All @@ -53,6 +53,12 @@ var gamePlayTests = map[string]struct {
expected: []bool{false, false, false, true},
expectedGrid: gameTapirFinished.grid,
},
"5-letter, mixed case": {
g: gameTapirStart,
tries: []string{"grOUp", "PRAnk", "sPaRE", "TAPIR"},
expected: []bool{false, false, false, true},
expectedGrid: gameTapirFinished.grid,
},
"2-letter, lost": {
g: gameAtStart,
tries: []string{"ta"},
Expand Down Expand Up @@ -143,10 +149,10 @@ var gameOutputForConsoleTests = map[string]struct {
"5-letter finished": {
g: gameTapirFinished,
expected: "\n-------\n" +
"|g" + COLOUR_RESET + COLOUR_YELLOW + "r" + COLOUR_RESET + "o" + COLOUR_RESET + "u" + COLOUR_RESET + COLOUR_YELLOW + "p" + COLOUR_RESET + "|\n" +
"|" + COLOUR_YELLOW + "p" + COLOUR_RESET + COLOUR_YELLOW + "r" + COLOUR_RESET + COLOUR_YELLOW + "a" + COLOUR_RESET + "n" + COLOUR_RESET + "k" + COLOUR_RESET + "|\n" +
"|s" + COLOUR_RESET + COLOUR_YELLOW + "p" + COLOUR_RESET + COLOUR_YELLOW + "a" + COLOUR_RESET + COLOUR_YELLOW + "r" + COLOUR_RESET + "e" + COLOUR_RESET + "|\n" +
"|" + COLOUR_GREEN + "t" + COLOUR_RESET + COLOUR_GREEN + "a" + COLOUR_RESET + COLOUR_GREEN + "p" + COLOUR_RESET + COLOUR_GREEN + "i" + COLOUR_RESET + COLOUR_GREEN + "r" + COLOUR_RESET + "|\n" +
"|G" + COLOUR_RESET + COLOUR_YELLOW + "R" + COLOUR_RESET + "O" + COLOUR_RESET + "U" + COLOUR_RESET + COLOUR_YELLOW + "P" + COLOUR_RESET + "|\n" +
"|" + COLOUR_YELLOW + "P" + COLOUR_RESET + COLOUR_YELLOW + "R" + COLOUR_RESET + COLOUR_YELLOW + "A" + COLOUR_RESET + "N" + COLOUR_RESET + "K" + COLOUR_RESET + "|\n" +
"|S" + COLOUR_RESET + COLOUR_YELLOW + "P" + COLOUR_RESET + COLOUR_YELLOW + "A" + COLOUR_RESET + COLOUR_YELLOW + "R" + COLOUR_RESET + "E" + COLOUR_RESET + "|\n" +
"|" + COLOUR_GREEN + "T" + COLOUR_RESET + COLOUR_GREEN + "A" + COLOUR_RESET + COLOUR_GREEN + "P" + COLOUR_RESET + COLOUR_GREEN + "I" + COLOUR_RESET + COLOUR_GREEN + "R" + COLOUR_RESET + "|\n" +
"-------\n",
},
"2-letter start": {
Expand All @@ -155,7 +161,7 @@ var gameOutputForConsoleTests = map[string]struct {
},
"2-letter finished": {
g: gameAtFinished,
expected: "\n----\n|" + COLOUR_YELLOW + "t" + COLOUR_RESET + COLOUR_YELLOW + "a" + COLOUR_RESET + "|\n----\n",
expected: "\n----\n|" + COLOUR_YELLOW + "T" + COLOUR_RESET + COLOUR_YELLOW + "A" + COLOUR_RESET + "|\n----\n",
},
}

Expand Down
2 changes: 1 addition & 1 deletion game/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func outputGridForConsole(grid [][]GridCell, length int) string {
case STATUS_INCORRECT:
str += COLOUR_YELLOW
}
str += cell.Letter + COLOUR_RESET
str += strings.ToUpper(cell.Letter) + COLOUR_RESET
}
str += "|\n"
}
Expand Down

0 comments on commit 1db5348

Please sign in to comment.