Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class TestImportsParser(unittest.TestCase):
- def setUp(self):
- self.parser = ImportParser()
- def test_401(self):
- line = 'import Dima, Vasya, Lena, Petya'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E401:multiple imports on one line'])
- class TestLineLengthParser(unittest.TestCase):
- def setUp(self):
- self.parser = LengthParser()
- def test_e501(self):
- line = 'mistaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakeeeeeesssssssssss'\
- + 'ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E501:line to long'])
- def test_e502(self):
- line = 'a = (328 - 127 \\'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E502:The backslash is unnecessary in brackets'])
- class TestBlankLinesParser(unittest.TestCase):
- def setUp(self):
- self.parser = BlankLinesParser()
- def test_e301(self):
- sources = \
- 'class TestBlankLinesParser(unittest.TestCase):\n def setUp(s'\
- + 'elf):\n pass\n def setUp(self):'
- sources = sources.split('\n')
- messages = []
- for line in sources:
- result = self.parser.to_parse(line)
- if result:
- messages.append(result)
- self.assertEqual(messages, [['E301:expected 1 blank line, found 0'],
- ['E301:expected 1 blank line, found 0']])
- def test_e302(self):
- sources = \
- 'main()\nclass TestBlankLinesParser(unittest.TestCase):'\
- + '\n\n def setUp(self):\n pass\n\n def setUp(self):'
- sources = sources.split('\n')
- messages = []
- for line in sources:
- result = self.parser.to_parse(line)
- if result:
- messages.append(result)
- self.assertEqual(messages, [['E302:expected 2 blank lines, found 0']])
- def test_e303(self):
- sources = [
- 'class TestBlankLinesParser(unittest.TestCase):',
- '',
- '',
- ' def setUp(self):',
- ' pass']
- messages = []
- for line in sources:
- result = self.parser.to_parse(line)
- if result:
- messages.append(result)
- self.assertEqual(messages, [['E303:too many blank lines']])
- def test_e304(self):
- sources = [
- 'class TestBlankLinesParser(unittest.TestCase):',
- '',
- ' @decorator',
- '',
- ' def setUp(self):',
- ' pass']
- messages = []
- for line in sources:
- result = self.parser.to_parse(line)
- if result:
- messages.append(result)
- self.assertEqual(messages, [['E304:blank lines\
- found after function decorator']])
- class TestWhitespacesParser(unittest.TestCase):
- def setUp(self):
- self.parser = WhitespaceParser()
- def test_e201(self):
- line = 'class TestWhitespacesParser( unittest.TestCase):'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E201:whitespace after ‘(‘'])
- def test_e202(self):
- line = 'TestWhitespacesParser(unittest.TestCase )'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E202:whitespace before ‘)’'])
- def test_e203(self):
- line = 'a = {3254 : 90, 23234 :4}'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E203:whitespace before ‘:’'])
- def test_e211(self):
- line = 'TestWhitespacesParser (unittest.TestCase)'
- line2 = 'if temp.match(line) and not temp2.match(line):'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E211:whitespace before ‘(‘'])
- result = self.parser.to_parse(line2)
- self.assertEqual(result, [])
- def test_e231(self):
- line = 'a = 1234234234,2342344352, 2459254'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E231:missing whitespace after ‘,’, ‘;’, or ‘:’'])
- def test_e251(self):
- line = ' def setUp(self, number = 0):'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E251:unexpected spaces around keyword / parameter equals'])
- def test_e261(self):
- line = 'a = 5 # heresomecomment'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E261:at least two spaces before inline comment'])
- def test_e265(self):
- line = ' #heresomecomment'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E265:block comment should start with ‘# ‘'])
- def test_e266(self):
- line = ' ## heresomecomment'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E266:too many leading ‘#’ for block comment'])
- class TestIndentationParser(unittest.TestCase):
- def setUp(self):
- self.parser = IndentationParser()
- def test_e101(self):
- self.parser._reset()
- line = '\t somethint=some+thing'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E101:indentation contains mixed spaces and tabs'])
- def test_e111(self):
- self.parser._reset()
- line = ' somethint=some+thing'
- result = self.parser.to_parse(line)
- self.assertEqual(result, ['E111:indentation is not a multiple of four'])
- def test_e112(self):
- self.parser._reset()
- messages = []
- lines = [' if self.expected < self.current:',
- ' if self.expected < self.current:']
- for line in lines:
- result = self.parser.to_parse(line)
- if result:
- messages.append(result)
- self.assertEqual(messages, [['E112:expected an indented block']])
- def test_e113(self):
- self.parser._reset()
- messages = []
- lines = [' self.expected = self.current',
- ' self.expected += self.current']
- for line in lines:
- result = self.parser.to_parse(line)
- if result:
- messages.append(result)
- self.assertEqual(messages, [['E113:unexpected indentation']])
- if __name__ == '__main__':
- unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement