From 1d2f1e39c16b908d9ebfd9fca28e4e61f232b13d Mon Sep 17 00:00:00 2001 From: Hanka Date: Sun, 31 May 2026 12:30:24 +0200 Subject: [PATCH] test(math): add unit tests for quadratic equation edge cases --- Tests/test_quadratic_equation.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Tests/test_quadratic_equation.py b/Tests/test_quadratic_equation.py index f962507..80ed989 100644 --- a/Tests/test_quadratic_equation.py +++ b/Tests/test_quadratic_equation.py @@ -43,5 +43,27 @@ def test_discriminant(self): qua_eq4 = QuadraticEquation(-1, -14, 20) self.assertEqual(qua_eq4.discriminant(), 276) + def test_one_real_root(self): + qe = QuadraticEquation(1, 2, 1) + qe.solve() + self.assertEqual(qe.x1, qe.x2) # Oba kořeny jsou stejné + + def test_two_real_roots(self): + qe = QuadraticEquation(1, -5, 6) + qe.solve() + self.assertAlmostEqual(qe.x1, 3.0, places=3) + self.assertAlmostEqual(qe.x2, 2.0, places=3) + + def test_complex_roots(self): + qe = QuadraticEquation(1, 2, 5) + qe.solve() + self.assertEqual(qe.x1.imag > 0, True) # Má imaginární část + + def test_vertex_calculation(self): + qe = QuadraticEquation(1, -4, 4) + qe.solve() + self.assertAlmostEqual(qe.vertex_x, 2.0, places=3) + self.assertAlmostEqual(qe.vertex_y, 0.0, places=3) + if __name__ == "__main__": unittest.main() \ No newline at end of file