def passes(self, value):
try:<EOL><INDENT>if self._op.compare(value, self.value):<EOL><INDENT>return True, None<EOL><DEDENT>else:<EOL><INDENT>return False, self.value<EOL><DEDENT><DEDENT>except ValueError as err:<EOL><INDENT>return False, str(err)<EOL><DEDENT>
Does the given value pass this constraint?

        :return: True,None if so; False,<expected> if not
        :rtype: tuple