diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2010-08-22 23:18:14 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2010-08-22 23:18:14 -0400 |
commit | 32320cabc97ccca3f2492faa55b542c4a158c2c9 (patch) | |
tree | 787b10a7e7c1f1ce4b24e13f68c8b0b85e48f5de /coverage/results.py | |
parent | 98ca1822da51c3c73201d04966656e605c21a6a5 (diff) | |
download | python-coveragepy-32320cabc97ccca3f2492faa55b542c4a158c2c9.tar.gz |
Unify formatting of coverage percentages, and don't show zero or 100 as a result of rounding. Fixes #41 and #70.
Diffstat (limited to 'coverage/results.py')
-rw-r--r-- | coverage/results.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/coverage/results.py b/coverage/results.py index e80ec0a..a3bdec1 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -157,6 +157,23 @@ class Numbers(object): return pc_cov pc_covered = property(_get_pc_covered) + def _get_pc_covered_str(self): + """Returns the percent covered, as a string, without a percent sign. + + The important thing here is that "0" only be returned when it's truly + zero, and "100" only be returned when it's truly 100. + + """ + pc = self.pc_covered + if 0 < pc < 1: + pc = 1.0 + elif 99 < pc < 100: + pc = 99.0 + else: + pc = round(pc) + return "%.0f" % pc + pc_covered_str = property(_get_pc_covered_str) + def __add__(self, other): nums = Numbers() nums.n_files = self.n_files + other.n_files |