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)
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)
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)
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)
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)
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))
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)
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)
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)
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)
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)