Exemple #1
0
        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();
        }
Exemple #2
0
        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>());
        }