public void Move_Should_Move_Current_Coordinate_Appropriately(Direction direction, int currentX, int currentY, bool checkLegality, int expectedX, int expectedY) { var context = new MazeCrawlerContext { Start = new Coordinates(currentX, currentY), NavigationMap = _moveMap, Coordinator = Substitute.For <IMazeCrawlerCoordinator>() }; var crawler = new MazeCrawler(context); crawler.Move(direction, checkLegality); crawler.CurrentX.Should().Be(expectedX); crawler.CurrentY.Should().Be(expectedY); }