J'ai ce code ruby pour mon joueur de classe et mon jeu de classe, je travaille dans le kata de tennis.Retour de la chaîne avec un attribut
class Player
def score
if @player_one.points <3 and @player_two.points<3
"#{@player_one.score} #{@player_two.score}"
elsif @player_one.points == @player_two.points
"#{@player_one.score} iguales"
end
if @player_one.points == 3 and @player_two.points == 3
'deuce'
elsif (@player_one.points == @player_two.points + 1) and (@player_two.points >=3)
"Ventaja #{@player_one.name}"
elsif (@player_one.points >= 4) and (@player_one.points >= (@player_two.points + 2))
"Game #{@player_one.name}"
end
end
end
Et ce test ne peut pas passer, tous les autres tests qui ont déjà passé ne sont pas ici.
it 'return 30-iguales when both players have 2 points scored' do
player_one = Player.new
player_two = Player.new
game = TennisGame.new(player_one, player_two)
player_one.wins_point
player_one.wins_point
player_two.wins_point
player_two.wins_point
expect(game.score).to eq("30 iguales")
end
L'erreur que je suis arrivé est que « 30 iguales » sont attendus mais ont nil
. Tous mes autres tests ont passé, mais dans celui-ci échoue, et je ne peux pas résoudre le problème.
Veuillez expliquer au début ce que votre code est destiné à faire. La plupart des lecteurs ne comprendront pas le «jeu de classe» et le «joueur de classe». –