예제 #1
0
 def test_example(self):
     v = Vector([-9.88, -3.264, -8.159])
     b = Vector([-2.155, -9.353, -9.473])
     assert (
         -8.350081043195763,
         3.376061254287722,
         -1.4337460427811841,
     ) == v.orthogonal_component(b).coords
예제 #2
0
 def test_example(self):
     v = Vector([3.009, -6.172, 3.692, -2.51])
     b = Vector([6.404, -9.144, 2.759, 8.718])
     cs = v.components(b)
     assert (
         1.04048383278591,
         -3.3612392515606433,
         2.8439150366421497,
         -5.189813233256158,
     ) == cs["othogonal"].coords
     assert (
         1.9685161672140898,
         -2.8107607484393564,
         0.8480849633578503,
         2.679813233256158,
     ) == cs["parallel"].coords
예제 #3
0
 def test_diff_dim(self, v1):
     u = Vector([1, 2, 3, 4])
     with pytest.raises(DimensionError) as excinfo:
         new_v = v1 + u
     assert (
         f"Cannot add Vector with self.dimension=3 to Vector with other.dimension=4."
         == str(excinfo.value))
예제 #4
0
 def test_diff_dim(self, v1):
     v = Vector([
         3,
     ] * 5)
     with pytest.raises(DimensionError) as excinfo:
         v * v1
     assert (
         f"Cannot multiply Vector with self.dimension=5 to Vector with other.dimension=3."
         == str(excinfo.value))
예제 #5
0
 def test_example_3(self):
     v = Vector([1.5, 9.547, 3.691])
     u = Vector([-6.007, 0.124, 5.772])
     result = v.cross_product(u)
     assert (54.647600000000004, -30.829836999999998,
             57.534829) == result.coords
예제 #6
0
 def test_parallel_componet_x(self, v1):
     b = Vector([1, 0, 0])
     assert (1, 0, 0) == v1.parallel_component(b).coords
예제 #7
0
 def test_example_2(self):
     v = Vector([-8.987, -9.838, 5.031])
     u = Vector([-4.268, -1.861, -8.866])
     result = v.cross_product(u)
     assert (96.58639899999999, -101.15105,
             -25.263776999999997) == result.coords
예제 #8
0
 def test_equal(self):
     v = Vector([1, 2, 3])
     u = Vector([1, 2, 3])
     assert v == u
예제 #9
0
def v1():
    return Vector([1, 2, 3])
예제 #10
0
 def test_example_2(self):
     v = Vector([-8.987, -9.838, 5.031])
     u = Vector([-4.268, -1.861, -8.866])
     assert 142.12222140184633 == v.area(u)
예제 #11
0
 def test_example_3(self):
     v = Vector([1.5, 9.547, 3.691])
     u = Vector([-6.007, 0.124, 5.772])
     assert 42.56493739941894 == v.area(u) / 2
예제 #12
0
 def test_orthogonal_componet_z(self, v1):
     b = Vector([0, 0, 1])
     assert (1, 2, 0) == v1.orthogonal_component(b).coords
예제 #13
0
 def test_example_3(self):
     v = Vector([-2.328, -7.284, -1.214])
     w = Vector([-1.821, 1.072, -2.940])
     assert v.is_orthogonal(w)
     assert w.is_orthogonal(v)
예제 #14
0
 def test_orthogonal_componet_x(self, v1):
     b = Vector([1, 0, 0])
     assert (0, 2, 3) == v1.orthogonal_component(b).coords
예제 #15
0
 def test_orthogonal_componet_y(self, v1):
     b = Vector([0, 1, 0])
     assert (1, 0, 3) == v1.orthogonal_component(b).coords
예제 #16
0
 def test_example(self):
     v = Vector([3.039, 1.879])
     b = Vector([0.825, 2.036])
     assert (1.0826069624844668,
             2.671742758325302) == v.parallel_component(b).coords
예제 #17
0
 def test_parallel_componet_z(self, v1):
     b = Vector([0, 0, 1])
     assert (0, 0, 3) == v1.parallel_component(b).coords
예제 #18
0
 def test_parallel_componet_y(self, v1):
     b = Vector([0, 1, 0])
     assert (0, 2, 0) == v1.parallel_component(b).coords
예제 #19
0
 def test_valid_vectors(self):
     v = Vector([1, 7, 74])
     u = Vector([-26, -4, 5])
     assert 1965.2699560111328 == v.area(u)
예제 #20
0
 def test_componets_z(self, v1):
     b = Vector([0, 0, 1])
     cs = v1.components(b)
     assert (1, 2, 0) == cs["othogonal"].coords
     assert (0, 0, 3) == cs["parallel"].coords
예제 #21
0
 def test_example_1(self):
     v = Vector([8.462, 7.893, -8.187])
     u = Vector([6.984, -5.975, 4.778])
     assert 144.30003269663322 == v.area(u)
예제 #22
0
 def test_example_2(self):
     v = Vector([-2.029, 9.97, 4.172])
     w = Vector([-9.231, -6.639, -7.245])
     assert not v.is_orthogonal(w)
     assert not w.is_orthogonal(v)
예제 #23
0
    def test_empty_coords(self):
        with pytest.raises(ValueError) as excinfo:
            v = Vector([])

        assert "Coords must not be empty." == str(excinfo.value)
예제 #24
0
 def test_example_1(self):
     v = Vector([-7.579, -7.88])
     w = Vector([22.737, 23.64])
     assert not v.is_orthogonal(w)
     assert not w.is_orthogonal(v)
예제 #25
0
    def test_str_coords(self):
        with pytest.raises(TypeError) as excinfo:
            v = Vector("123")

        assert "Coords must be a list or tuple." == str(excinfo.value)
예제 #26
0
 def test_vaild_vectors(self):
     v = Vector([1, 7, 74])
     u = Vector([-26, -4, 5])
     result = v.cross_product(u)
     assert (331, -1929, 178) == result.coords
예제 #27
0
 def test_unequal(self):
     v = Vector([3, 2, 1])
     u = Vector([1, 2, 3])
     assert v != u
예제 #28
0
 def test_example_1(self):
     v = Vector([8.462, 7.893, -8.187])
     u = Vector([6.984, -5.975, 4.778])
     result = v.cross_product(u)
     assert (-11.204570999999994, -97.609444,
             -105.68516199999999) == result.coords
예제 #29
0
 def test_valid(self):
     v = Vector([1, 2, 3])
     assert v.coords == (1, 2, 3)
     assert v.dimension == 3
예제 #30
0
 def test_example_4(self):
     v = Vector([2.118, 4.827])
     w = Vector([0, 0])
     assert v.is_orthogonal(w)
     assert w.is_orthogonal(v)