@classmethod
def ensure_value(cls, value, condition, message='error'):
    """
        Checks condition and raises ValueError if it is wrong.

        Raised ValueError has `message` with current `value`.
        It looks like:
            ValueError("{message}; has {value}")

        :param Any value: any value;
        :param bool condition: condition to check;
        :param str message: part of message for ValueError;
        :raises ValueError: if `condition` is wrong.

        """
    cls.assert_value(condition, '{}; has {}'.format(message, value))
