Beispiel #1
0
    def test_draw_vector_norm(self):
        """Test norm in Vector class in utility.py."""
        vector = Vector()

        expected = 18.138357147217054
        actual = vector.norm([10, 15, 2])
        self.assertAlmostEqualRel(actual, expected, rel_tol=1e-3)
Beispiel #2
0
    def test_draw_vector_two_points_described(self):
        """
        Test two_points_described in Vector class in utility.py.
        """
        vector = Vector()

        expected = ([-8.0, 15.0], [-0.47058823529411764, 0.8823529411764706],
                    [-0.88235294118, -0.47058823529])

        points_list_1 = [10., 15.]
        points_list_2 = [2, 30]

        vect_1 = np.array(points_list_1)
        vect_2 = np.array(points_list_2)

        my_list = [vect_1, vect_2]

        actual = vector.two_points_described(my_list)
        actual = tuple(map(list, actual))

        for i in range(3):
            for j in range(2):
                self.assertAlmostEqualRel(actual[i][j],
                                          expected[i][j],
                                          rel_tol=1e-3)
Beispiel #3
0
    def test_draw_normed(self):
        """Test functionality of normed in utility.py."""
        vector = Vector()

        result = vector.normed([12, 16])
        self.assertEqual(result[0], 0.6)
        self.assertEqual(result[1], 0.8)
Beispiel #4
0
    def test_draw_vector_angle_between(self):
        """Test angle_between in Vector class in utility.py."""
        vector = Vector()

        expected = 0.6435011087932843
        actual = vector.angle_between([0, 10], [15, 20])
        self.assertAlmostEqualRel(actual, expected, rel_tol=1e-3)
Beispiel #5
0
    def test_draw_get_distance(self):
        """Test the functionality of get_distance in utility.py."""
        vector = Vector()

        expected = [1.41, 24.187]

        actual = []
        actual.append(vector.get_distance((1, 1), (2, 2), precision=2))
        actual.append(vector.get_distance((10, 15), (22, -6), precision=3))

        for i in range(2):
            self.assertAlmostEqualRel(actual[i], expected[i], rel_tol=1e-3)
Beispiel #6
0
    def test_draw_vector_is_zero(self):
        """Test is_zero in Vector class in utility.py."""
        vector = Vector()

        points_list_1 = [10., 15., 2.]
        points_list_2 = [0, 0, 0]

        vect_1 = np.array(points_list_1)
        vect_2 = np.array(points_list_2)

        self.assertFalse(vector.is_zero(vect_1))
        self.assertTrue(vector.is_zero(vect_2))
Beispiel #7
0
    def test_draw_vector_are_same(self):
        """Test are_same in Vector class in utility.py."""
        points_list_1 = [10., 15., 2.]
        points_list_2 = [10., 15., 2.]
        points_list_3 = [20., 25., 30.]

        vect_1 = np.array(points_list_1)
        vect_2 = np.array(points_list_2)
        vect_3 = np.array(points_list_3)

        self.assertEqual(Vector.are_same(vect_1, vect_2), True)
        self.assertEqual(Vector.are_same(vect_1, vect_3), False)
Beispiel #8
0
    def test_draw_vector_add_z(self):
        """Test add_z in Vector class in utility.py."""
        vector = Vector()

        expected = [[10.0, 15.0, 0.0], [22.0, 7.0, 2.5]]

        actual = []
        actual.append(list(vector.add_z([10, 15])))
        actual.append(list(vector.add_z([22, 7], 2.5)))

        for i in range(2):
            for j in range(3):
                self.assertAlmostEqualRel(actual[i][j],
                                          expected[i][j],
                                          rel_tol=1e-3)
Beispiel #9
0
    def test_draw_vector_rotate(self):
        """Test rotate in the Vector class in utility.py."""
        vector = Vector()

        expected = [(2.130314698073308, -0.6795287243176937),
                    (-1.1764850602505073, 1.9015475021695778)]

        actual = []
        actual.append(vector.rotate_around_point([1, 2], radians=30))
        actual.append(vector.rotate_around_point([1, 2], radians=45))

        for i in range(2):
            for j in range(2):
                self.assertAlmostEqualRel(actual[i][j],
                                          expected[i][j],
                                          rel_tol=1e-3)
Beispiel #10
0
    def test_draw_vector_snap_unit_vector(self):
        """Test snap_unit_vector in Vector class in utility.py."""
        vector = Vector()

        expected = ([0, 1], [1, 0])

        points_list_1 = [10., 15.]
        vect = np.array(points_list_1)

        actual = []
        actual.append(vector.snap_unit_vector(vect))
        actual.append(vector.snap_unit_vector(vect, flip=True))
        actual = tuple(map(list, actual))

        for i in range(2):
            for j in range(2):
                self.assertAlmostEqualRel(actual[i][j],
                                          expected[i][j],
                                          rel_tol=1e-3)
Beispiel #11
0
    def test_draw_vector_rotate_around_point(self):
        """Test rotate_around_point in the Vector class in utility.py."""
        vector = Vector()

        expected = [(2.130314698073308, -0.6795287243176937),
                    (-1.1764850602505073, 1.9015475021695778),
                    (1.5611824021515244, 6.655591972503418),
                    (4.125841082615048, 0.3966454487621853)]

        actual = []
        actual.append(vector.rotate_around_point([1, 2], radians=30))
        actual.append(vector.rotate_around_point([1, 2], radians=45))
        actual.append(
            vector.rotate_around_point([1, 2], radians=30, origin=(4, 4)))
        actual.append(
            vector.rotate_around_point([1, 2], radians=45, origin=(4, 4)))

        for i in range(4):
            for j in range(2):
                self.assertAlmostEqualRel(actual[i][j],
                                          expected[i][j],
                                          rel_tol=1e-3)