import unittest from algo import gauss_method class TestGaussMethod(unittest.TestCase): def test_2x2_unique_solution(self): """Простейшая 2x2 система с уникальным решением""" coef = [[1, 1], [2, 3]] free_mem = [5, 11] result = gauss_method(coef, free_mem) expected = [4.0, 1.0] for r, e in zip(result, expected): self.assertAlmostEqual(r, e, places=7) def test_2x2_another(self): """Ещё одна 2x2 система""" coef = [[2, 1], [4, 3]] free_mem = [5, 11] result = gauss_method(coef, free_mem) expected = [2.0, 1.0] for r, e in zip(result, expected): self.assertAlmostEqual(r, e, places=7) def test_3x3_unique_solution(self): """3x3 система с уникальным решением""" coef = [[1, 1, 1], [2, 3, 1], [1, 2, 3]] free_mem = [6, 11, 14] result = gauss_method(coef, free_mem) expected = [1.0, 2.0, 3.0] for r, e in zip(result, expected): self.assertAlmostEqual(r, e, places=7) def test_degenerate_system(self): """Вырожденная система должна выбросить исключение""" coef = [[1, 1], [2, 2]] free_mem = [2, 4] with self.assertRaises(ValueError): gauss_method(coef, free_mem) if __name__ == "__main__": unittest.main()