Exemple #1
0
def testAngle():
    for i in range(10):
        theta = 1 / np.random.randint(1, 10)
        pytest.approx(theta,
                      _vector.angle(
                          [np.cos(theta), np.sin(theta)], [1, 0]))
        pytest.approx(theta,
                      _vector.angle(
                          [np.cos(theta), np.sin(-theta)], [1, 0]))
Exemple #2
0
def testRightAndStraightAngle():
    for i in range(10):
        vec1 = np.random.randint(1, 10, 2)
        vec2 = np.array([-vec1[1], vec1[0]])
        vec3 = np.array([vec1[1], -vec1[0]])
        # Test for 90-degree.
        pytest.approx(_vector.angle(vec1, vec2), math.pi / 2)
        pytest.approx(_vector.angle(vec1, vec3), math.pi / 2)
        # Test for 180-degree.
        pytest.approx(_vector.angle(vec2, vec3), math.pi)
Exemple #3
0
def test_my_pybind():
    # Test for zero-length 2-vector (invalid input).
    assert math.fabs(_vector.angle(0, 0, 0, 0) - 0.0) < epsilon

    # Test for zero angle.
    assert math.fabs(_vector.angle(1, 1, 1, 1) - 0.0) < epsilon

    # Test for right angle (90-deg).
    assert math.fabs(_vector.angle(0, 1, 1, 0) - (math.pi / 2)) < epsilon

    # Test for one other angle. (180 degree)
    assert math.fabs(_vector.angle(1, 0, -1, 0) - (math.pi)) < epsilon
Exemple #4
0
    def test_invalid(self):
        vector1 = np.random.randint(64, 1922, 2)
        vector2 = np.array([0, 0])
        vector3 = np.random.randint(64, 1922, 2)

        radian1 = angle(vector1, vector2)
        assert math.isclose(radian1, -127, abs_tol=self.m_abs_tol)

        radian2 = angle(vector2, vector3)
        assert math.isclose(radian2, -127, abs_tol=self.m_abs_tol)

        vector4 = np.array([math.inf, math.inf])
        radian3 = angle(vector1, vector4)
        assert math.isnan(radian3)
Exemple #5
0
    def test_right_angle(self):
        vector1 = np.array([0, 1])
        vector2 = np.array([1, 0])

        radian = angle(vector1, vector2)

        assert math.isclose(radian, math.pi / 2, abs_tol=self.m_abs_tol)
Exemple #6
0
    def test_180_degree(self):
        vector1 = np.array([1, 0])
        vector2 = np.array([-1, 0])

        radian = angle(vector1, vector2)

        assert math.isclose(radian, math.pi, abs_tol=self.m_abs_tol)
Exemple #7
0
def testInvalidVector():
    with pytest.raises(TypeError):
        _vector.angle([0, 0], [])
    with pytest.raises(TypeError):
        _vector.angle([], [0, 0])
    with pytest.raises(TypeError):
        _vector.angle([], [])
    with pytest.raises(TypeError):
        _vector.angle(["1", 2], [1, 1])
Exemple #8
0
 def testOpposite(self):
     for i in range(10):
         mult = np.random.randint(-10, -1)
         vec1 = np.random.randint(1, 10, 2)
         vec2 = vec1 * mult
         self.assertAlmostEqual(_vector.angle(vec1, vec2),
                                math.pi,
                                places=5)
Exemple #9
0
    def test_zero_angle(self):
        coefficient = np.random.randint(1, 10)
        vector1 = np.random.randint(64, 1922, 2)
        vector2 = vector1 * coefficient

        radian = angle(vector1, vector2)

        assert math.isclose(radian, 0, abs_tol=self.m_abs_tol)
Exemple #10
0
    def test_one_another_degree(self):
        vector1 = np.array([3, 4])
        vector2 = np.array([4, 4])

        radian = angle(vector1, vector2)

        assert math.isclose(radian, (math.pi / 180) * 8.13,
                            abs_tol=self.m_abs_tol)

        coefficient = np.random.randint(64, 1922)
        vector1 = vector1 * coefficient
        vector2 = vector2 * coefficient

        radian = angle(vector1, vector2)

        assert math.isclose(radian, (math.pi / 180) * 8.13,
                            abs_tol=self.m_abs_tol)
Exemple #11
0
 def testRightAngle(self):
     for i in range(10):
         mult = np.random.randint(1, 10)
         vec1 = np.random.randint(1, 10)
         vec1 = np.array([vec1, vec1])
         vec2 = vec1 * np.array([-mult, mult])
         self.assertAlmostEqual(_vector.angle(vec1, vec2),
                                math.pi / 2,
                                places=5)
Exemple #12
0
def testZeroLengthVector():
    with pytest.raises(ValueError):
        _vector.angle([1, 1], [0, 0])
    with pytest.raises(ValueError):
        _vector.angle([0, 0], [1, 1])
    with pytest.raises(ValueError):
        _vector.angle([0, 0], [0, 0])
Exemple #13
0
def test_right_angle():
    tem = _vector.angle((0, 1), (1, 0))
    assert int(tem) == 90
Exemple #14
0
def test_zero_angle():
    tem = _vector.angle((1, 1), (1, 1))
    assert int(tem) == 0
Exemple #15
0
def test_angle45():
    tem = _vector.angle((0, 1), (1, 1))
    assert int(tem) == 45
Exemple #16
0
def test_30_angle():
    # 30 degree
    assert math.isclose(_vector.angle(math.sqrt(3), 1, 1, math.sqrt(3)),
                        math.pi / 6)
Exemple #17
0
import _vector
import math

epsilon = math.pi * 0.05 #toleration for float comparsion

print (_vector.angle(1, 1, 1, 1))

def test_my_pybind():
    # Test for zero-length 2-vector (invalid input).
    assert math.fabs(_vector.angle(0, 0, 0, 0) - 0.0) < epsilon

    # Test for zero angle.
    assert math.fabs(_vector.angle(1, 1, 1, 1) - 0.0) < epsilon

    # Test for right angle (90-deg).
    assert math.fabs(_vector.angle(0, 1, 1, 0) - (math.pi / 2)) < epsilon

    # Test for one other angle. (180 degree)
    assert math.fabs(_vector.angle(1, 0, -1, 0) - (math.pi)) < epsilon
Exemple #18
0
def testArbitraryVector():
    for i in range(10):
        vec1 = np.random.randint(1, 10, 2)
        vec2 = np.random.randint(1, 10, 2)
        pytest.approx(_vector.angle(vec1, vec2), angle(vec1, vec2))
Exemple #19
0
def test_0_angle():
    assert math.isclose(_vector.angle(300, 600, 15, 30), 0)
Exemple #20
0
def test_45_angle():
    # 45 degree
    assert math.isclose(_vector.angle(0, 100, 5, 5), math.pi / 4)
Exemple #21
0
def test_two_zero():
 assert v.angle([0, 0], [0, 0]) == -1
Exemple #22
0
 def testZeroAngle(self):
     for i in range(10):
         mult = np.random.randint(1, 10)
         vec1 = np.random.randint(1, 10, 2)
         vec2 = vec1 * mult
         self.assertAlmostEqual(_vector.angle(vec1, vec2), 0, places=5)
Exemple #23
0
def test_right_angle():
 assert v.angle([1, 0], [0, 1]) == 90
Exemple #24
0
def test_zero_length():
    assert math.isnan(_vector.angle(0, 0, 0, 0))
Exemple #25
0
def test_another_angle():
 assert v.angle([1, 1], [0, 1]) == 45
Exemple #26
0
def testZeroAngle():
    for i in range(10):
        mult = np.random.randint(1, 10)
        vec1 = np.random.randint(1, 10, 2)
        vec2 = vec1 * mult
        assert (_vector.angle(vec1, vec2)) == 0
Exemple #27
0
def test_zero_angle():
 assert v.angle([1, 0], [1, 0]) == 0
Exemple #28
0
def test_right_angle():
    assert math.isclose(_vector.angle(1000, 1000, -2000, 2000), math.pi / 2)