Skip to content

Commit 9b04f37

Browse files
committed
Issue#5 Fix for zero noc and loc
1 parent 4080f92 commit 9b04f37

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

swift_code_metrics/_metrics.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,10 @@ def percentage_of_comments(noc, loc):
114114
:param loc: the number of lines of code
115115
:return: The POC value (double)
116116
"""
117-
return 100 * noc / (noc + loc)
117+
noc_loc = noc + loc
118+
if noc_loc == 0:
119+
return 0
120+
return 100 * noc / noc_loc
118121

119122
# Analysis
120123

swift_code_metrics/tests/test_metrics.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@ def test_total_dependencies(self):
111111
self.assertEqual(expected_deps,
112112
Metrics.total_dependencies(self.foundation_kit))
113113

114+
def test_poc_valid_loc_noc(self):
115+
self.assertEqual(50, Metrics.percentage_of_comments(loc=2, noc=2))
116+
117+
def test_poc_invalid_loc_noc(self):
118+
self.assertEqual(0, Metrics.percentage_of_comments(loc=0, noc=0))
119+
114120
@property
115121
def __dummy_external_frameworks(self):
116122
return [

0 commit comments

Comments
 (0)