projektAI/venv/Lib/site-packages/mlxtend/utils/testing.py
2021-06-06 22:13:05 +02:00

35 lines
1.1 KiB
Python

# Sebastian Raschka 2014-2020
# mlxtend Machine Learning Library Extensions
#
# A counter class for printing the progress of an iterator.
# Author: Sebastian Raschka <sebastianraschka.com>
#
# License: BSD 3 clause
def assert_raises(exception_type, message, func, *args, **kwargs):
"""Check that an exception is raised with a specific message
Parameters
----------
exception_type : exception
The exception that should be raised
message : str (default: None)
The error message that should be raised. Ignored if False or None.
func : callable
The function that raises the exception
*args : positional arguments to `func`.
**kwargs : keyword arguments to `func`
"""
try:
func(*args, **kwargs)
except exception_type as e:
error_message = str(e)
if message and message not in error_message:
raise AssertionError("Error message differs from the expected"
" string: %r. Got error message: %r" %
(message, error_message))
else:
raise AssertionError('%s not raised.' % exception_type.__name__)