func TestGuessALetter(t *testing.T) { expect := goexpect.New(t) game := models.Game{}.New() // Make a correct guess existingLetter := string(game.Word[0]) game.GuessALetter(existingLetter) expect(game.TriesLeft).ToBe(11) expect(strings.Contains(game.LettersRemaining, existingLetter)).ToBe(false) // Incorrect guess game.GuessALetter(existingLetter) expect(game.TriesLeft).ToBe(10) // Failed game loopUntil := game.TriesLeft for i := 0; i < loopUntil; i++ { game.GuessALetter(existingLetter) } expect(game.TriesLeft).ToBe(0) expect(game.Status).ToBe(models.GameStatus.Failed) // Success game game = models.Game{}.New() for i, _ := range game.Word { game.GuessALetter(string(game.Word[i])) } expect(game.Status).ToBe(models.GameStatus.Success) }