# Path: hotness/exceptions/base_exception.py
# class BaseHotnessException(Exception):
#     """
#     Class representing base exception in the-new-hotness.
#     This exception should be inherited by every other exception
#     and defines common methods and attributes expected by `ResponseFailure` object.
# 
#     Attributes:
#         message: Error message.
#         value: Partial output from object that raised the exception, default: None.
#     """
# 
#     def __init__(
#         self,
#         message: str,
#         value: Optional[Any] = None,
#     ) -> None:
#         """
#         Class constructor.
#         """
#         self.message = message
#         self.value = value
#         super(BaseHotnessException, self).__init__(self.message)
# 
#     def __str__(self) -> str:
#         """
#         String representation of error.
#         """
#         return self.message


import pytest
from hotness.exceptions import BaseHotnessException
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.



class TestBaseExceptionInit:
    """
    Test class for `hotness.exceptions.BaseHotnessException.__init__` method.
    """

    def test_init(self):
        """
        Assert that exception is created correctly.
        """
        exception = BaseHotnessException("This error is a tech heresy!")

        with pytest.raises(Exception):
            raise exception

        assert exception.message == "This error is a tech heresy!"

    def test_init_optional_arguments(self):
        """
        Assert that exception is created correctly.
        """

# Path: hotness/exceptions/base_exception.py
# class BaseHotnessException(Exception):
#     """
#     Class representing base exception in the-new-hotness.
#     This exception should be inherited by every other exception
#     and defines common methods and attributes expected by `ResponseFailure` object.
# 
#     Attributes:
#         message: Error message.
#         value: Partial output from object that raised the exception, default: None.
#     """
# 
#     def __init__(
#         self,
#         message: str,
#         value: Optional[Any] = None,
#     ) -> None:
#         """
#         Class constructor.
#         """
#         self.message = message
#         self.value = value
#         super(BaseHotnessException, self).__init__(self.message)
# 
#     def __str__(self) -> str:
#         """
#         String representation of error.
#         """
#         return self.message


# Path: tests/exceptions/test_base_exception.py
import pytest
from hotness.exceptions import BaseHotnessException

# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.



class TestBaseExceptionInit:
    """
    Test class for `hotness.exceptions.BaseHotnessException.__init__` method.
    """

    def test_init(self):
        """
        Assert that exception is created correctly.
        """
        exception = BaseHotnessException("This error is a tech heresy!")

        with pytest.raises(Exception):
            raise exception

        assert exception.message == "This error is a tech heresy!"

    def test_init_optional_arguments(self):
        """
        Assert that exception is created correctly.
        """

        exception = BaseHotnessException(