public void GetCoordinatesCorrectlyPassesCoordinates(string input, int expectedX, int expectedY) { using (var inputStream = input.ToStream()) { using (var ui = new StreamUserInteraction(inputStream, new MemoryStream())) { var coordinates = ui.GetCoordinates(10, 10); coordinates.X.ShouldBe(expectedX); coordinates.Y.ShouldBe(expectedY); } } }
public void GetCoordinatesAsksForCoordinatesUntilSuccesfull(string input, string expectedOutput) { using (var inputStream = input.ToStream()) { var outputStream = new MemoryStream(); using (var ui = new StreamUserInteraction(inputStream, outputStream)) { ui.GetCoordinates(10, 10); } outputStream.Position = 0; var streamReader = new StreamReader(outputStream); streamReader.ReadToEnd().ShouldBe(expectedOutput); } }
public static string Execute(string input, ISquare[,] grid) { using (var inputStream = input.ToStream()) { using (var outputStream = new MemoryStream()) { using (var ui = new StreamUserInteraction(inputStream, outputStream)) { var gameLoop = new GameLoop(grid, ui); gameLoop.Run(); } outputStream.Position = 0; using (var streamReader = new StreamReader(outputStream)) { return(streamReader.ReadToEnd()); } } } }