Пример #1
0
    def test_neg(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(- a - b, Vector([-4, -6, -8, -10]))
        self.assertEqual(- a * 2, Vector([-2, -4, -6, -8]))
        self.assertEqual(- b - 1, Vector([-4, -5, -6, -7]))
Пример #2
0
    def test_abs(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(abs(a - b), 4.0)
        self.assertEqual(abs(a),  5.477225575051661)
        self.assertEqual(abs(b), 9.273618495495704)
Пример #3
0
    def test_repr(self):
        v = Vector([1, 2, 3])

        self.assertEqual(str(v), "Vector([1, 2, 3])")
        self.assertEqual(repr(v), str(v))

        v = Vector([1.0, 2, 3.0])

        self.assertEqual(str(v), "Vector([1.0, 2, 3.0])")
        self.assertEqual(repr(v), str(v))
Пример #4
0
 def test_ndim(self):
     self.assertEqual(Vector([1, 2, 3]).ndim(), len(Vector([1, 2, 3])))
     self.assertEqual(
         Vector([1, 2, 3, 4]).ndim(), len(Vector([1, 2, 3, 4]))
     )
     self.assertEqual(Vector([]).ndim(), len(Vector([])))
     self.assertEqual(Vector([1, 2]).ndim(), len(Vector([1, 2])))
     self.assertEqual(Vector([5, 5]).ndim(), 2)
Пример #5
0
    def test_argmin(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(a.argmin(), 0)
        self.assertEqual(b.argmin(), 0)
        self.assertEqual((- a - b).argmin(), 3)
        self.assertEqual((- a * 2).argmin(), 3)
        self.assertEqual(Vector([2, -2, 3]).argmin(), 1)
Пример #6
0
    def test_mul(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(a * a, Vector([1, 4, 9, 16]))
        self.assertEqual(b * a, Vector([3, 8, 15, 24]))
        self.assertEqual(a * 2, Vector([2, 4, 6, 8]))
        self.assertEqual(b * (- 3.0), Vector([-9.0, -12.0, -15.0, -18.0]))
Пример #7
0
    def test_sub(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(a - a, Vector([0, 0, 0, 0]))
        self.assertEqual(b - a, Vector([2, 2, 2, 2]))
        self.assertEqual(a - 1, Vector([0, 1, 2, 3]))
        self.assertEqual(b - 3.0, Vector([0.0, 1.0, 2.0, 3.0]))

        self.assertRaises(TypeError, a.__sub__, "a")
Пример #8
0
    def test_add(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(a + a, Vector([2, 4, 6, 8]))
        self.assertEqual(b + a, Vector([4, 6, 8, 10]))
        self.assertEqual(a + 1, Vector([2, 3, 4, 5]))
        self.assertEqual(b + 3.1, Vector([6.1, 7.1, 8.1, 9.1]))

        self.assertRaises(TypeError, a.__add__, "a")
Пример #9
0
    def test_floordiv(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(a // a, Vector([1, 1, 1, 1]))
        self.assertEqual(b // a, Vector([3, 2, 1, 1]))
        self.assertEqual(a // 2, Vector([0, 1, 1, 2]))
        self.assertEqual(
            b // (- 3.0),
            Vector([-1.0, -2.0, -2.0, -2.0])
        )

        self.assertRaises(TypeError, a.__floordiv__, "a")
Пример #10
0
    def test_truediv(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(a / a, Vector([1.0, 1.0, 1.0, 1.0]))
        self.assertEqual(b / a, Vector([3.0, 2.0, 1.6666666666666667, 1.5]))
        self.assertEqual(a / 2, Vector([0.5, 1.0, 1.5, 2.0]))
        self.assertEqual(
            b / (- 3.0),
            Vector([-1.0, -1.3333333333333333, -1.6666666666666667, -2.0])
        )

        self.assertRaises(TypeError, a.__truediv__, "a")
Пример #11
0
    def test_pow(self):
        a = Vector([1, 2, 3, 4])
        b = Vector([3, 4, 5, 6])

        self.assertEqual(a ** 2, Vector([1, 4, 9, 16]))
        self.assertEqual(b ** 2, Vector([9, 16, 25, 36]))
        self.assertEqual(
            pow(a, 0.5),
            Vector([1.0, 1.4142135623730951, 1.7320508075688772, 2.0])
        )
        self.assertEqual(
            pow(b, 1.5),
            Vector(
                [
                    5.196152422706632, 8.0,
                    11.180339887498949, 14.696938456699069
                ]
            )
        )

        self.assertRaises(TypeError, a.__pow__, "a")
Пример #12
0
 def test_inheritance(self):
     self.assertTrue(issubclass(Vector, list))
     self.assertIsInstance(Vector([1, 2, 3]), list)