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)