class vector_test(unittest.TestCase): def setUp(self): self.first_vector = Vector(2, [1, 1]) self.second_vector = Vector(2, [2, 2]) def test_add(self): self.assertEqual(self.first_vector.__add__(self.second_vector), Vector(2, [3, 3]), "Add method does not work normally") def test_vector_mul(self): self.assertEqual(self.first_vector.__mul__(self.second_vector), 4, "Vector multiplication does not work normally") def test_scalar_mul(self): self.assertEqual(self.first_vector.__mul__(2), self.second_vector, "Vector multiplication does not work normally") def test_sub(self): self.assertEqual(self.second_vector.__sub__(self.first_vector), self.first_vector)
def __mul__(self, other): newloc = Vector.__add__(self, other) if newloc not in self.map: raise KeyError return self.__class__(newloc.hx, newloc.hy, self.map)
def __add__(self, other): newloc = Vector.__add__(self, other) if newloc not in self.map: raise KeyError("location %s is not in map" % newloc) return self.__class__(newloc.hx, newloc.hy, self.map)
from vector import Vector v1 = Vector([1.0, 2.0, 4.0]) v2 = Vector([1.0, 2.0, 1.0]) print(v1.__add__(v2))