fix test file issues

This commit is contained in:
ivanz-thinkpad 2025-01-31 23:26:54 +03:00
parent 792ee57123
commit 598359efa5

View File

@ -1,61 +1,60 @@
import unittest import pytest
from strassen_matrix_multiplication import split_matrix from divide_and_conquer.strassen_matrix_multiplication import split_matrix
class TestSplitMatrix(unittest.TestCase): def test_4x4_matrix():
matrix = [
def test_4x4_matrix(self): [4, 3, 2, 4],
matrix = [ [2, 3, 1, 1],
[4, 3, 2, 4], [6, 5, 4, 3],
[2, 3, 1, 1], [8, 4, 1, 6]
[6, 5, 4, 3], ]
[8, 4, 1, 6] expected = (
] [[4, 3], [2, 3]],
expected = ( [[2, 4], [1, 1]],
[[4, 3], [2, 3]], [[6, 5], [8, 4]],
[[2, 4], [1, 1]], [[4, 3], [1, 6]]
[[6, 5], [8, 4]], )
[[4, 3], [1, 6]] assert split_matrix(matrix) == expected
)
self.assertEqual(split_matrix(matrix), expected)
def test_8x8_matrix(self):
matrix = [
[4, 3, 2, 4, 4, 3, 2, 4],
[2, 3, 1, 1, 2, 3, 1, 1],
[6, 5, 4, 3, 6, 5, 4, 3],
[8, 4, 1, 6, 8, 4, 1, 6],
[4, 3, 2, 4, 4, 3, 2, 4],
[2, 3, 1, 1, 2, 3, 1, 1],
[6, 5, 4, 3, 6, 5, 4, 3],
[8, 4, 1, 6, 8, 4, 1, 6]
]
expected = (
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]],
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]],
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]],
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]]
)
self.assertEqual(split_matrix(matrix), expected)
def test_invalid_odd_matrix(self):
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
with self.assertRaises(Exception):
split_matrix(matrix)
def test_invalid_non_square_matrix(self):
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
]
with self.assertRaises(Exception):
split_matrix(matrix)
if __name__ == "__main__": def test_8x8_matrix():
unittest.main() matrix = [
[4, 3, 2, 4, 4, 3, 2, 4],
[2, 3, 1, 1, 2, 3, 1, 1],
[6, 5, 4, 3, 6, 5, 4, 3],
[8, 4, 1, 6, 8, 4, 1, 6],
[4, 3, 2, 4, 4, 3, 2, 4],
[2, 3, 1, 1, 2, 3, 1, 1],
[6, 5, 4, 3, 6, 5, 4, 3],
[8, 4, 1, 6, 8, 4, 1, 6]
]
expected = (
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]],
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]],
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]],
[[4, 3, 2, 4], [2, 3, 1, 1], [6, 5, 4, 3], [8, 4, 1, 6]]
)
assert split_matrix(matrix) == expected
def test_invalid_odd_matrix():
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
with pytest.raises(Exception, match="Odd matrices are not supported!"):
split_matrix(matrix)
def test_invalid_non_square_matrix():
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16],
[17, 18, 19, 20]
]
with pytest.raises(Exception, match="Odd matrices are not supported!"):
split_matrix(matrix)