예제 #1
0
 def test_floor_division(self):
     v = m.Vector(2, 4, 7)
     self.assertEqual(v // 2, m.Vector(1, 2, 3))
     self.assertEqual(v, m.Vector(2, 4, 7))
예제 #2
0
 def test_multiply_vector(self):
     a1 = m.Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])
     a2 = m.Vector(1, 2, 3)
     self.assertEqual(a1 * a2, m.Vector(14, 32, 50))
예제 #3
0
 def test_get_column(self):
     a = m.Matrix([1, 2, 3], [5, 6, 7], [8, 9, 10])
     self.assertEqual(a.get_column(1), m.Vector(2, 6, 9))
예제 #4
0
 def test_scalar_different_dimension(self):
     with self.assertRaises(m.vector.DifferentDimensionVectors):
         m.Vector(1, 2, 3) * m.Vector(4, 5, 6, 7)
예제 #5
0
 def test_cross_product_3d(self):
     with self.assertRaises(TypeError):
         m.Vector(1, 2, 3, 4) ^ m.Vector(3, 4, 5, 6)
예제 #6
0
 def test_multipy_number(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(v * 2, m.Vector(2, 4, 6))
     self.assertEqual(v, m.Vector(1, 2, 3))
예제 #7
0
 def test_scalar_product(self):
     v1 = m.Vector(2, 3, -2)
     v2 = m.Vector(-1, 2, 3)
     self.assertEqual(v1 * v2, -2)
예제 #8
0
 def test_round(self):
     v = m.Vector(1.345, 2.438, 3.535)
     v.round(2)
     self.assertEqual(v, m.Vector(1.34, 2.44, 3.54))
예제 #9
0
 def test_repr(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(repr(v), 'Vector(1, 2, 3)')
예제 #10
0
 def test_add_vector(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(v + m.Vector(4, 5, 6), m.Vector(5, 7, 9))
     self.assertEqual(v, m.Vector(1, 2, 3))
예제 #11
0
 def test_normalized(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(v.normalized().round(4),
                      m.Vector(0.2673, 0.5345, 0.8018))
     self.assertEqual(v, m.Vector(1, 2, 3))
예제 #12
0
 def test_length(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(round(v.length, 4), 3.7417)
예제 #13
0
 def test_zero_floor_division(self):
     with self.assertRaises(ZeroDivisionError):
         m.Vector(4, 3, 2, 1) // 0
예제 #14
0
 def test_i_floor_division(self):
     v = m.Vector(2, 4, 7)
     v //= 2
     self.assertEqual(v, m.Vector(1, 2, 3))
예제 #15
0
 def test_get_item(self):
     v = m.Vector(3, 2, 4, 6, 8)
     self.assertEqual(v[3], 6)
예제 #16
0
 def test_i_add_vector(self):
     v = m.Vector(1, 2, 3, 4)
     v += m.Vector(1, 2, 3, 4)
     self.assertEqual(v, m.Vector(2, 4, 6, 8))
예제 #17
0
 def test_get_item_out_of_range(self):
     v = m.Vector(3, 2, 4, 6, 8)
     with self.assertRaises(IndexError):
         v[6]
예제 #18
0
 def test_i_add_number(self):
     v = m.Vector(1, 2, 3, 4)
     v += 2
     self.assertEqual(v, m.Vector(3, 4, 5, 6))
예제 #19
0
 def test_i_multiply_number(self):
     v = m.Vector(1, 2, 3)
     v *= -2
     self.assertEqual(v, m.Vector(-2, -4, -6))
예제 #20
0
 def test_sub_number(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(v - 3, m.Vector(-2, -1, 0))
     self.assertEqual(v, m.Vector(1, 2, 3))
예제 #21
0
 def test_add_number(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(v + 3, m.Vector(4, 5, 6))
     self.assertEqual(v, m.Vector(1, 2, 3))
예제 #22
0
 def test_sub_vector(self):
     v = m.Vector(1, 2, 3)
     self.assertEqual(v - m.Vector(4, 5, 6), m.Vector(-3, -3, -3))
     self.assertEqual(v, m.Vector(1, 2, 3))
예제 #23
0
 def test_i_cross_product(self):
     v1 = m.Vector(1, 2, 3)
     v2 = m.Vector(4, 5, 6)
     v1 ^= v2
     self.assertEqual(v1, m.Vector(-3, 6, -3))
예제 #24
0
 def test_i_sub_vector(self):
     v = m.Vector(1, 2, 3, 4)
     v -= m.Vector(1, 2, 3, 4)
     self.assertEqual(v, m.Vector(0, 0, 0, 0))
예제 #25
0
 def test_get_row(self):
     a = m.Matrix([1, 2, 3], [5, 6, 7], [8, 9, 10])
     self.assertEqual(a.get_row(1), m.Vector(5, 6, 7))
예제 #26
0
 def test_size(self):
     self.assertEqual(m.Vector(1, 2, 3).size, 3)
예제 #27
0
 def test_multiply_vector_unsutable(self):
     a = m.Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])
     v = m.Vector(1, 2, 3, 4)
     with self.assertRaises(m.matrix.MatrixDimensionError):
         a * v
예제 #28
0
 def test_i_sub_number(self):
     v = m.Vector(1, 2, 3, 4)
     v -= 2
     self.assertEqual(v, m.Vector(-1, 0, 1, 2))
예제 #29
0
 def test_get_item_1(self):
     a1 = m.Matrix([1, 2, 3], [5, 6, 7], [8, 9, 10])
     self.assertEqual(a1[1], m.Vector(5, 6, 7))
예제 #30
0
 def test_i_number_division(self):
     v = m.Vector(2, 4, 6)
     v /= 2
     self.assertEqual(v, m.Vector(1, 2, 3))