static void Main(string[] args) { IConfiguration Configuration = new Configuration(); ILogger feedBackLogger = new FeedBackDelegateLogger(WriteOutToConsole); Configuration.LoadConfiguration(); TurtleChallenge.Core.TurtleChallenge turtleChallenge = new TurtleChallenge.Core.TurtleChallenge(Configuration, feedBackLogger); turtleChallenge.Start(); Console.Write("Press any key to exit."); Console.Read(); }
public void TurtleChallegneStarted_WithInBoundary_LogsNewPositionWithInBoundary() { IConfiguration configuration = new Configuration(); configuration.GridDimension = new Position { xPos = 2, yPos = 2 }; configuration.TurtlePosition = new Position { xPos = 1, yPos = 1 }; List <Position> moves = new List <Position>(); moves.Add(new Position { xPos = 1, yPos = 2 }); moves.Add(new Position { xPos = 1, yPos = 3 }); configuration.Moves = moves; configuration.ExitPosition = new Position { xPos = 3, yPos = 3 }; List <Position> mines = new List <Position>(); mines.Add(new Position { xPos = 1, yPos = 2 }); configuration.MinesPosition = mines; ILogger logger = Substitute.For <ILogger>(); Grid grid = new Grid(); grid.GridTiles = new Tile[configuration.GridDimension.xPos, configuration.GridDimension.yPos]; configuration.StartPostion = configuration.TurtlePosition; grid.Load(configuration.StartPostion, configuration.ExitPosition, configuration.MinesPosition); configuration.GameGrid = grid; TurtleChallenge.Core.TurtleChallenge turtleChallenge = new TurtleChallenge.Core.TurtleChallenge(configuration, logger); turtleChallenge.Start(); logger.Received().NewPostionWithInBoundry(Arg.Any <string>()); }