"""Tests for calculator module.

IMPORTANT: These tests are correct and should NOT be modified.
The agent should fix the code, not the tests.
"""

import pytest
from src.calculator import divide, safe_divide


class TestDivide:
    def test_basic_division(self):
        assert divide(10, 2) == 5.0

    def test_float_division(self):
        assert divide(7, 2) == 3.5

    def test_zero_dividend(self):
        assert divide(0, 5) == 0.0

    def test_zero_divisor_raises(self):
        """The divide function should raise ZeroDivisionError."""
        with pytest.raises(ZeroDivisionError):
            divide(10, 0)


class TestSafeDivide:
    def test_basic_division(self):
        assert safe_divide(10, 2) == 5.0

    def test_zero_divisor_returns_default(self):
        assert safe_divide(10, 0) == 0.0

    def test_custom_default(self):
        assert safe_divide(10, 0, default=-1.0) == -1.0
