def test_example1(self): vectorsA = ["R8", "U5", "L5", "D3"] vectorsB = ["U7", "R6", "D4", "L4"] self.assertEqual( Point( 3, 3), find_nearest_intersection( vectorsA, vectorsB).get_point())
def test_unit_180(self): origin = Point(0, 0) up = Point(0, 1) down = Point(0, -1) left = Point(-1, 0) right = Point(1, 0) clockwise = TurnDirection.RIGHT counterclockwise = TurnDirection.LEFT self.assertEqual(down, rotate(origin, up, clockwise, 180)) self.assertEqual(up, rotate(origin, down, clockwise, 180)) self.assertEqual(right, rotate(origin, left, clockwise, 180)) self.assertEqual(left, rotate(origin, right, clockwise, 180)) self.assertEqual(down, rotate(origin, up, counterclockwise, 180)) self.assertEqual(up, rotate(origin, down, counterclockwise, 180)) self.assertEqual(right, rotate(origin, left, counterclockwise, 180)) self.assertEqual(left, rotate(origin, right, counterclockwise, 180))
def test_example3(self): vectorsA = [ "R98", "U47", "R26", "D63", "R33", "U87", "L62", "D20", "R33", "U53", "R51"] vectorsB = [ "U98", "R91", "D20", "R16", "D67", "R40", "U7", "R15", "U6", "R7"] self.assertEqual( Point( 124, 11), find_nearest_intersection( vectorsA, vectorsB).get_point())
def test_example2(self): vectorsA = [ "R75", "D30", "R83", "U83", "L12", "D49", "R71", "U7", "L72"] vectorsB = ["U62", "R66", "U55", "R34", "D71", "R55", "D58", "R83"] self.assertEqual( Point( 155, 4), find_nearest_intersection( vectorsA, vectorsB).get_point())
def test_Manhattan(self): self.assertEqual(Point(0, 0).manhattan_distance(), 0) self.assertEqual(Point(0, 1).manhattan_distance(), 1) self.assertEqual(Point(2, 2).manhattan_distance(), 4) self.assertEqual(Point(3, 2).manhattan_distance(), 5) self.assertEqual(Point(-3, 2).manhattan_distance(), 5)
def test_example(self): origin = Point(0, 0) start = Point(10, 4) final = Point(4, -10) clockwise = TurnDirection.RIGHT self.assertEqual(final, rotate(origin, start, clockwise, 90))
def test_Repeats_ObjectSort(self): listA = [Point(1, 1), Point(2, 2), Point(0, 1)] listB = [Point(3, 3), Point(1, 1), Point(0, 1)] self.assertListEqual(non_sorted_intersection(listA, listB), [Point(0, 1), Point(1, 1)])
def test_move_by_waypoint_step_five(self): directions = ["F10", "U3", "F7", "C90", "F11"] end_point = move_by_waypoint(directions) self.assertEqual(end_point, Point(214, -72))
def test_move_by_waypoint_step_four(self): directions = ["F10", "U3", "F7", "C90"] end_point = move_by_waypoint(directions) self.assertEqual(end_point, Point(170, 38))
def test_move_by_waypoint_step_two(self): directions = ["F10", "U3"] end_point = move_by_waypoint(directions) self.assertEqual(end_point, Point(100, 10))
def test_move_by_waypoint_forward(self): directions = ["F10"] end_point = move_by_waypoint(directions) self.assertEqual(end_point, Point(100, 10))