Source code for readmetester.exceptions

"""
readmetester.exceptions
=======================
"""


[docs]class DocumentError(Exception): """Base for error for all documentation."""
[docs]class OutputDocumentError(DocumentError): """Base for errors resulting from incorrectly documented code. :param code_block: Code block that error is raised for. :param message: Error message. """ def __init__(self, code_block: str, message: str) -> None: super().__init__(f"{code_block}: {message}")
[docs]class SyntaxDocumentError(DocumentError): """Base for errors resulting from invalid document syntax."""
[docs]class OutputNotExpectedError(OutputDocumentError): """Output was provided, but no output is expected. :param code_block: Code block that error is raised for. :param actual: Actual output produced. """ def __init__(self, code_block: str, actual: str) -> None: super().__init__( code_block, f"command returned `{actual}` which is not expected" )
[docs]class OutputExpectedError(OutputDocumentError): """Output was not provided, but output is expected. :param code_block: Code block that error is raised for. :param expected: Expected output. """ def __init__(self, code_block: str, expected: str) -> None: super().__init__( code_block, f"command did not return `{expected}` which is expected", )
[docs]class OutputNotEqualError(OutputDocumentError): """Actual code not equal to expected code. :param code_block: Code block that error is raised for. :param actual: Actual output produced. :param expected: Expected output. """ def __init__(self, code_block: str, actual: str, expected: str) -> None: super().__init__(code_block, f"{expected} != {actual}")