def testRouteNothingToDo(): origin = navigation.Coordinate(0, 0, 30) destination = navigation.Coordinate(0, 0, 30) result = navigation.Terrain().plotRouteFromTo(origin, destination) assert len(result) == 0
def testRouteNoDistance(): origin = navigation.Coordinate(0, 0, 30) destination = navigation.Coordinate(0, 0, 0) result = navigation.Terrain().plotRouteFromTo(origin, destination) assert len(result) == 1 assert result[0] == navigation.RouteStep(navigation.RouteStep.TURN, -30)
def testRouteFromSouth(): origin = navigation.Coordinate(0, -50, 30) destination = navigation.Coordinate(0, 0, 0) result = navigation.Terrain().plotRouteFromTo(origin, destination) assert len(result) == 2 assert result[0] == navigation.RouteStep(navigation.RouteStep.TURN, -30) assert result[1] == navigation.RouteStep(navigation.RouteStep.DRIVE, 50)
def testRouteFromEast(): origin = navigation.Coordinate(50, 0, 30) destination = navigation.Coordinate(0, 0, 0) result = navigation.Terrain().plotRouteFromTo(origin, destination) assert len(result) == 3 print(str(result[0])) assert result[0] == navigation.RouteStep(navigation.RouteStep.TURN, -120) assert result[1] == navigation.RouteStep(navigation.RouteStep.DRIVE, 50) assert result[2] == navigation.RouteStep(navigation.RouteStep.TURN, -270)
def testRouteFromSouthWest(): origin = navigation.Coordinate(-10, -10, 30) destination = navigation.Coordinate(30, 20, 20) result = navigation.Terrain().plotRouteFromTo(origin, destination) assert len(result) == 3 print(str(result[0])) assert result[0] == navigation.RouteStep(navigation.RouteStep.TURN, -337) assert result[1] == navigation.RouteStep(navigation.RouteStep.DRIVE, 50) assert result[2] == navigation.RouteStep(navigation.RouteStep.TURN, -33)
def testRouteFromNorthEast(): origin = navigation.Coordinate(80, 60, 30) destination = navigation.Coordinate(40, 30, 20) result = navigation.Terrain().plotRouteFromTo(origin, destination) assert len(result) == 3 print(str(result[0])) assert result[0] == navigation.RouteStep(navigation.RouteStep.TURN, -157) assert result[1] == navigation.RouteStep(navigation.RouteStep.DRIVE, 50) assert result[2] == navigation.RouteStep(navigation.RouteStep.TURN, -213)
def testThatMoveLeftIsCalculatedCorrectly(): position = navigation.Coordinate(0, 0, 270) position.ahead(50) assert position.x == -50 assert position.y == 0
def testThatVeryBigNegativeTurnIsAppliedCorrectly(): position = navigation.Coordinate(0, 0, 60) position.turn(-760) assert position.heading == 20
def testThatNegativeTurnIsAppliedCorrectlyWhenHeadingSwingsToLeft(): position = navigation.Coordinate(0, 0, 60) position.turn(-70) assert position.heading == 350
def testThatPositiveTurnIsAppliedCorrectly(): position = navigation.Coordinate(0, 0, 10) position.turn(41) assert position.heading == 51
def testThatVeryBigPositiveTurnIsAppliedCorrectly(): position = navigation.Coordinate(0, 0, 20) position.turn(705) assert position.heading == 5