Created
July 19, 2012 20:57
-
-
Save wnoizumi/3146765 to your computer and use it in GitHub Desktop.
JokenPo kata using ruby
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class JokenPo | |
@@precedencia = { | |
:pedra => :tesoura, | |
:papel => :pedra, | |
:tesoura => :papel | |
} | |
def self.jogar(jogador1, jogador2) | |
return :empate if jogador1 == jogador2 | |
p = @@precedencia[jogador1] | |
return :jogador1 if p == jogador2 | |
return :jogador2 | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require_relative("joken_po") | |
describe JokenPo do | |
context "Empate" do | |
it "Pedra com pedra deve retornar empate" do | |
JokenPo.jogar(:pedra, :pedra).should == :empate | |
end | |
it "Papel com papel deve retornar empate" do | |
JokenPo.jogar(:papel, :papel).should == :empate | |
end | |
it "Tesoura com tesoura deve retornar empate" do | |
JokenPo.jogar(:tesoura, :tesoura).should == :empate | |
end | |
end | |
context "Jogador1 ganha" do | |
it "Pedra com tesoura deve retornar jogador1" do | |
JokenPo.jogar(:pedra, :tesoura).should == :jogador1 | |
end | |
it "Papel com pedra deve retornar jogador1" do | |
JokenPo.jogar(:papel, :pedra).should == :jogador1 | |
end | |
it "Tesoura com papel deve retornar jogador1" do | |
JokenPo.jogar(:tesoura, :papel).should == :jogador1 | |
end | |
end | |
context "Jogador2 ganha" do | |
it "Pedra com papel deve retornar jogador2" do | |
JokenPo.jogar(:pedra, :papel).should == :jogador2 | |
end | |
it "Papel com tesoura deve retornar jogador2" do | |
JokenPo.jogar(:papel, :tesoura).should == :jogador2 | |
end | |
it "Tesoura com pedra deve retornar jogador2" do | |
JokenPo.jogar(:tesoura, :pedra).should == :jogador2 | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment