blob: fd038e438dd367a9dd84e09d38180b039513de9e [file] [log] [blame]
import unittest
import sys
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
from mccabe import get_code_complexity
_GLOBAL = """\
for i in range(10):
pass
def a():
def b():
def c():
pass
c()
b()
"""
class McCabeTest(unittest.TestCase):
def setUp(self):
self.old = sys.stdout
self.out = sys.stdout = StringIO()
def tearDown(self):
sys.sdtout = self.old
def test_sample(self):
self.assertEqual(get_code_complexity(_GLOBAL, 1), 2)
self.out.seek(0)
res = self.out.read().strip().split('\n')
wanted = ["stdin:5:1: C901 'a' is too complex (4)",
"stdin:2:1: C901 'Loop 2' is too complex (2)"]
self.assertEqual(res, wanted)