Skip to content

Instantly share code, notes, and snippets.

@dlresende
Created December 12, 2016 22:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dlresende/32e1749247949e34e81e85ac81441145 to your computer and use it in GitHub Desktop.
Save dlresende/32e1749247949e34e81e85ac81441145 to your computer and use it in GitHub Desktop.
LSCC 2016-12-12
class Game
def initialize
@fields = "___" +
"___" +
"___" ;
end
def take(x, y, piece = "X")
line = x * 3
@fields[line + y] = "X"
end
def is_over?
! @fields.include? "_"
end
end
class GameTest
def a_game_is_not_over_when_just_started
game = Game.new
fail if game.is_over?
end
def a_game_is_over_when_all_fields_are_taken
game = Game.new
game.take(0, 0)
game.take(0, 1)
game.take(0, 2)
game.take(1, 0)
game.take(1, 1)
game.take(1, 2)
game.take(2, 0)
game.take(2, 1)
game.take(2, 2)
fail if !game.is_over?
end
def a_player_should_be_able_to_take_a_field
game = Game.new
game.take(0, 1, "O")
fail if game.field(0, 1) != "O"
end
end
test = GameTest.new
test.a_game_is_over_when_all_fields_are_taken
test.a_game_is_not_over_when_just_started
test.a_player_should_be_able_to_take_a_field
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment