47 lines
No EOL
1,020 B
Python
47 lines
No EOL
1,020 B
Python
|
|
|
|
import unittest
|
|
|
|
from suou.mat import Matrix
|
|
|
|
|
|
class TestMat(unittest.TestCase):
|
|
def setUp(self):
|
|
self.m_a = Matrix([
|
|
[2, 2],
|
|
[1, 3]
|
|
])
|
|
self.m_b = Matrix([
|
|
[1], [-4]
|
|
])
|
|
def tearDown(self) -> None:
|
|
...
|
|
def test_transpose(self):
|
|
self.assertEqual(
|
|
self.m_a.T,
|
|
Matrix([
|
|
[2, 1],
|
|
[2, 3]
|
|
])
|
|
)
|
|
self.assertEqual(
|
|
self.m_b.T,
|
|
Matrix([[1, -4]])
|
|
)
|
|
def test_mul(self):
|
|
self.assertEqual(
|
|
self.m_b.T @ self.m_a,
|
|
Matrix([
|
|
[-2, -10]
|
|
])
|
|
)
|
|
self.assertEqual(
|
|
self.m_a @ self.m_b,
|
|
Matrix([
|
|
[-6], [-11]
|
|
])
|
|
)
|
|
def test_shape(self):
|
|
self.assertEqual(self.m_a.shape(), (2, 2))
|
|
self.assertEqual(self.m_b.shape(), (2, 1))
|
|
self.assertEqual(self.m_b.T.shape(), (1, 2)) |