def test_rotation(self): ft = FishTracker() r = 20 points = [Point(r, 0.0, from_polar=True)] p = [n.get_tuple() for n in points] rot = ft.rotate(p, np.pi/4) rotated = Point(*rot[0]) self.assertEquals(rotated.angle(), np.pi/4) points = [Point(r, 0.0, from_polar=True), Point(r, np.pi/4, from_polar=True)] p = [n.get_tuple() for n in points] rot = ft.rotate(p, np.pi/4) rot_one = Point(*rot[0]) rot_two = Point(*rot[1]) self.assertAlmostEquals(rot_one.angle(), np.pi/4) self.assertAlmostEquals(rot_two.angle(), np.pi/2)
def test_point(self): a = Point(5,5) b = Point(1,3) c = Point(6,8) d = Point(4,2) self.assertEquals(a+b, c) self.assertEquals(a-b, d) quadrant_one = Point(3,3) self.assertAlmostEquals(np.pi/4, quadrant_one.angle()) quadrant_two = Point(-3,3) self.assertAlmostEquals((3*np.pi)/4, quadrant_two.angle()) quadrant_three = Point(-3,-3) self.assertAlmostEquals((5*np.pi)/4, quadrant_three.angle()) quadrant_four = Point(3,-3) self.assertAlmostEquals((7*np.pi)/4, quadrant_four.angle()) pos_x = Point(3, 0) self.assertAlmostEquals(0, pos_x.angle()) pos_y = Point(0, 3) self.assertAlmostEquals(np.pi/2, pos_y.angle()) neg_x = Point(-3, 0) self.assertAlmostEquals(np.pi, neg_x.angle()) neg_y = Point(0, -3) self.assertAlmostEquals(3*np.pi/2, neg_y.angle()) a = Point(3,3) b = Point(5,3) c = b-a self.assertAlmostEquals(0, c.angle()) quadrant_one_polar = Point(quadrant_one.magnitude(), quadrant_one.angle(), from_polar=True) self.assertAlmostEquals(quadrant_one_polar.x, quadrant_one.x) self.assertAlmostEquals(quadrant_one_polar.y, quadrant_one.y) quadrant_two_polar = Point(quadrant_two.magnitude(), quadrant_two.angle(), from_polar=True) self.assertAlmostEquals(quadrant_two_polar.x, quadrant_two.x) self.assertAlmostEquals(quadrant_two_polar.y, quadrant_two.y) quadrant_three_polar = Point(quadrant_three.magnitude(), quadrant_three.angle(), from_polar=True) self.assertAlmostEquals(quadrant_three_polar.x, quadrant_three.x) self.assertAlmostEquals(quadrant_three_polar.y, quadrant_three.y) quadrant_four_polar = Point(quadrant_four.magnitude(), quadrant_four.angle(), from_polar=True) self.assertAlmostEquals(quadrant_four_polar.x, quadrant_four.x) self.assertAlmostEquals(quadrant_four_polar.y, quadrant_four.y)