public void Translate_DoesNotChangeOrientation(int startX, int startY, CardinalDirection startFacing, bool isMovingForward, int endX, int endY)
        {
            var startingPosition = new Position(startX, startY, startFacing, new Grid());
            var translation      = new Translate(isMovingForward);
            var endingPosition   = translation.Act(startingPosition);

            Assert.That(endingPosition.Orientation, Is.EqualTo(startFacing));
        }
        public void Translate_ChangesPositionTo(int startX, int startY, CardinalDirection startFacing, bool isMovingForward, int endX, int endY)
        {
            var startingPosition = new Position(startX, startY, startFacing, new Grid());
            var translation      = new Translate(isMovingForward);
            var endingPosition   = translation.Act(startingPosition);

            Assert.That(endingPosition.Coordinates, Is.EqualTo(new int[] { endX, endY }));
        }