def test_long_bytes(self): one_line_b = self._long_b.replace(_b("\n"), _b(" ")) mismatch = _BinaryMismatch(one_line_b, "!~", self._long_b) self.assertEqual( mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(one_line_b), text_repr(self._long_b, multiline=True)))
def test_long_unicode(self): one_line_u = self._long_u.replace("\n", " ") mismatch = _BinaryMismatch(one_line_u, "!~", self._long_u) self.assertEqual( mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(one_line_u), text_repr(self._long_u, multiline=True)))
def test_long_unicode(self): one_line_u = self._long_u.replace("\n", " ") mismatch = _BinaryMismatch(one_line_u, "!~", self._long_u) self.assertEqual(mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(one_line_u), text_repr(self._long_u, multiline=True)))
def test_long_unicode_and_object(self): obj = object() mismatch = _BinaryMismatch(self._long_u, "!~", obj) self.assertEqual(mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(self._long_u, multiline=True), repr(obj)))
def test_long_bytes(self): one_line_b = self._long_b.replace(_b("\n"), _b(" ")) mismatch = _BinaryMismatch(one_line_b, "!~", self._long_b) self.assertEqual(mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(one_line_b), text_repr(self._long_b, multiline=True)))
def test_long_mixed_strings(self): mismatch = _BinaryMismatch(self._long_b, "!~", self._long_u) self.assertEqual( mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(self._long_b, multiline=True), text_repr(self._long_u, multiline=True)), )
def match(self, matchee): if not isinstance(matchee, BatchNavigator): # Testtools doesn't have an IsInstanceMismatch yet. return matchers._BinaryMismatch( BatchNavigator, 'isinstance', matchee) mismatches = [] for attrname, matcher in self.matchers.items(): mismatch = matcher.match(getattr(matchee, attrname)) if mismatch is not None: mismatches.append(mismatch) if mismatches: return MismatchesAll(mismatches)
def match(self, matchee): if not isinstance(matchee, BatchNavigator): # Testtools doesn't have an IsInstanceMismatch yet. return matchers._BinaryMismatch(BatchNavigator, 'isinstance', matchee) mismatches = [] for attrname, matcher in self.matchers.items(): mismatch = matcher.match(getattr(matchee, attrname)) if mismatch is not None: mismatches.append(mismatch) if mismatches: return MismatchesAll(mismatches)
def test_long_unicode_and_object(self): obj = object() mismatch = _BinaryMismatch(self._long_u, "!~", obj) self.assertEqual( mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(self._long_u, multiline=True), repr(obj)))
def test_long_mixed_strings(self): mismatch = _BinaryMismatch(self._long_b, "!~", self._long_u) self.assertEqual( mismatch.describe(), "%s:\nreference = %s\nactual = %s\n" % ("!~", text_repr(self._long_b, multiline=True), text_repr(self._long_u, multiline=True)))
def test_short_mixed_strings(self): b, u = _b("\xa7"), _u("\xa7") mismatch = _BinaryMismatch(b, "!~", u) self.assertEqual(mismatch.describe(), "%r !~ %r" % (b, u))
def test_short_objects(self): o1, o2 = object(), object() mismatch = _BinaryMismatch(o1, "!~", o2) self.assertEqual(mismatch.describe(), "%r !~ %r" % (o1, o2))