diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-12-20 11:02:02 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-12-20 11:02:02 -0500 |
commit | d17aeb10e55585a23702737087afc60a35d3123c (patch) | |
tree | 33c2721709a3b1c0dc49e0a6bd2bd70f8e423ca1 /test/coveragetest.py | |
parent | ac58d7b298efd6b3aeb6ce3410e5cc1236073c1f (diff) | |
download | python-coveragepy-git-d17aeb10e55585a23702737087afc60a35d3123c.tar.gz |
A better way to display differences between arc lists when tests fail.
Diffstat (limited to 'test/coveragetest.py')
-rw-r--r-- | test/coveragetest.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/test/coveragetest.py b/test/coveragetest.py index ee440f30..6576e359 100644 --- a/test/coveragetest.py +++ b/test/coveragetest.py @@ -162,6 +162,13 @@ class CoverageTest(TestCase): arcs.append((self._arcz_map[a], self._arcz_map[b])) return sorted(arcs) + def assertEqualArcs(self, a1, a2): + """Assert that the arc lists `a1` and `a2` are equal.""" + # Make them into multi-line strings so we can see what's going wrong. + s1 = "\n".join([repr(a) for a in a1]) + "\n" + s2 = "\n".join([repr(a) for a in a2]) + "\n" + self.assertMultiLineEqual(s1, s2) + def check_coverage(self, text, lines=None, missing="", excludes=None, report="", arcz=None, arcz_missing="", arcz_unpredicted=""): """Check the coverage measurement of `text`. @@ -234,13 +241,13 @@ class CoverageTest(TestCase): ) if arcs is not None: - self.assertEqual(analysis.arc_possibilities(), arcs) + self.assertEqualArcs(analysis.arc_possibilities(), arcs) if arcs_missing is not None: - self.assertEqual(analysis.arcs_missing(), arcs_missing) + self.assertEqualArcs(analysis.arcs_missing(), arcs_missing) if arcs_unpredicted is not None: - self.assertEqual(analysis.arcs_unpredicted(), arcs_unpredicted) + self.assertEqualArcs(analysis.arcs_unpredicted(), arcs_unpredicted) if report: frep = StringIO() |