mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-02-23 17:38:39 +00:00
fix test file issues
This commit is contained in:
parent
792ee57123
commit
598359efa5
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user