public void TraceSteps_Should_Return_Correctly(int startX, int startY, bool checkLegality, string expected)
        {
            var context = new MazeCrawlerContext
            {
                Start         = new Coordinates(startX, startY),
                Destination   = new Coordinates(5, 5),
                NavigationMap = _canMoveMap,
                Coordinator   = Substitute.For <IMazeCrawlerCoordinator>()
            };
            var crawler = new MazeCrawler(context);

            crawler.MoveEast(checkLegality)
            .MoveNorth(checkLegality)
            .MoveWest(checkLegality)
            .MoveWest(checkLegality)
            .MoveSouth(checkLegality);

            crawler.TraceSteps().Should().Be(expected);
        }