public static CellularAutomaton CreateGameOfLife(int width, int height) { var neighborshipInitializer = new BoundedNeighborshipInitializer(); var randomBoardFactory = new RandomGameOfLifeBoardFactory(); return(CreateGameOfLife(width, height, randomBoardFactory, neighborshipInitializer)); }
public void CreateInitializesNeighborship() { var initializer = new RandomGameOfLifeBoardFactory(); var neighborshipInitializer = new Mock <NeighborshipInitializer>(); var board = initializer.Create(1, 1, neighborshipInitializer.Object); neighborshipInitializer.Verify(i => i.Initialize(board)); }
public void CreateReturnsBoardWithGivenDimensions() { int width = 10; int height = 12; var initializer = new RandomGameOfLifeBoardFactory(); var board = initializer.Create(width, height, Mock.Of <NeighborshipInitializer>()); Assert.AreEqual(width, board.Width); Assert.AreEqual(height, board.Height); Assert.AreEqual(width, board.Cells.Length); for (int i = 0; i < width; i++) { Assert.AreEqual(height, board.Cells[i].Length); } }