package com.lunivore.gameoflife.domain;
import static org.hamcrest.MatcherAssert.assertThat;
import org.hamcrest.Matchers;
import org.junit.Test;
import com.lunivore.gameoflife.view.string.StringRenderer;
public class GameBehaviour {
private static final String NL = System.getProperty("line.separator");
@Test
public void shouldStartEmpty() {
StringRenderer renderer = new StringRenderer();
Game game = new Game(6, 4);
game.setObserver(renderer);
assertThat(renderer.asString(), Matchers.equalTo(
"......" + NL +
"......" + NL +
"......" + NL +
"......"));
}
@Test
public void shouldAllowUsersToToggleCells() {
StringRenderer renderer = new StringRenderer();
Game game = new Game(6, 4);
game.setObserver(renderer);
game.toggleCellAt(2, 1);
assertThat(renderer.asString(), Matchers.equalTo(
"......" + NL +
"..X..." + NL +
"......" + NL +
"......"));
game.toggleCellAt(2, 2);
assertThat(renderer.asString(), Matchers.equalTo(
"......" + NL +
"..X..." + NL +
"..X..." + NL +
"......"));
game.toggleCellAt(2, 1);
assertThat(renderer.asString(), Matchers.equalTo(
"......" + NL +
"......" + NL +
"..X..." + NL +
"......"));
}
}