Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.46 KB | None | 0 0
  1. class TestImportsParser(unittest.TestCase):
  2.  
  3. def setUp(self):
  4. self.parser = ImportParser()
  5.  
  6. def test_401(self):
  7. line = 'import Dima, Vasya, Lena, Petya'
  8. result = self.parser.to_parse(line)
  9. self.assertEqual(result, ['E401:multiple imports on one line'])
  10.  
  11.  
  12. class TestLineLengthParser(unittest.TestCase):
  13.  
  14. def setUp(self):
  15. self.parser = LengthParser()
  16.  
  17. def test_e501(self):
  18. line = 'mistaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakeeeeeesssssssssss'\
  19. + 'ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss'
  20. result = self.parser.to_parse(line)
  21. self.assertEqual(result, ['E501:line to long'])
  22.  
  23. def test_e502(self):
  24. line = 'a = (328 - 127 \\'
  25. result = self.parser.to_parse(line)
  26. self.assertEqual(result, ['E502:The backslash is unnecessary in brackets'])
  27.  
  28.  
  29. class TestBlankLinesParser(unittest.TestCase):
  30.  
  31. def setUp(self):
  32. self.parser = BlankLinesParser()
  33.  
  34. def test_e301(self):
  35. sources = \
  36. 'class TestBlankLinesParser(unittest.TestCase):\n def setUp(s'\
  37. + 'elf):\n pass\n def setUp(self):'
  38. sources = sources.split('\n')
  39. messages = []
  40. for line in sources:
  41. result = self.parser.to_parse(line)
  42. if result:
  43. messages.append(result)
  44. self.assertEqual(messages, [['E301:expected 1 blank line, found 0'],
  45. ['E301:expected 1 blank line, found 0']])
  46.  
  47. def test_e302(self):
  48. sources = \
  49. 'main()\nclass TestBlankLinesParser(unittest.TestCase):'\
  50. + '\n\n def setUp(self):\n pass\n\n def setUp(self):'
  51. sources = sources.split('\n')
  52. messages = []
  53. for line in sources:
  54. result = self.parser.to_parse(line)
  55. if result:
  56. messages.append(result)
  57. self.assertEqual(messages, [['E302:expected 2 blank lines, found 0']])
  58.  
  59. def test_e303(self):
  60. sources = [
  61. 'class TestBlankLinesParser(unittest.TestCase):',
  62. '',
  63. '',
  64. ' def setUp(self):',
  65. ' pass']
  66. messages = []
  67. for line in sources:
  68. result = self.parser.to_parse(line)
  69. if result:
  70. messages.append(result)
  71. self.assertEqual(messages, [['E303:too many blank lines']])
  72.  
  73. def test_e304(self):
  74. sources = [
  75. 'class TestBlankLinesParser(unittest.TestCase):',
  76. '',
  77. ' @decorator',
  78. '',
  79. ' def setUp(self):',
  80. ' pass']
  81. messages = []
  82. for line in sources:
  83. result = self.parser.to_parse(line)
  84. if result:
  85. messages.append(result)
  86. self.assertEqual(messages, [['E304:blank lines\
  87. found after function decorator']])
  88.  
  89.  
  90.  
  91. class TestWhitespacesParser(unittest.TestCase):
  92.  
  93. def setUp(self):
  94. self.parser = WhitespaceParser()
  95.  
  96. def test_e201(self):
  97. line = 'class TestWhitespacesParser( unittest.TestCase):'
  98. result = self.parser.to_parse(line)
  99. self.assertEqual(result, ['E201:whitespace after ‘(‘'])
  100.  
  101. def test_e202(self):
  102. line = 'TestWhitespacesParser(unittest.TestCase )'
  103. result = self.parser.to_parse(line)
  104. self.assertEqual(result, ['E202:whitespace before ‘)’'])
  105.  
  106. def test_e203(self):
  107. line = 'a = {3254 : 90, 23234 :4}'
  108. result = self.parser.to_parse(line)
  109. self.assertEqual(result, ['E203:whitespace before ‘:’'])
  110.  
  111. def test_e211(self):
  112. line = 'TestWhitespacesParser (unittest.TestCase)'
  113. line2 = 'if temp.match(line) and not temp2.match(line):'
  114. result = self.parser.to_parse(line)
  115. self.assertEqual(result, ['E211:whitespace before ‘(‘'])
  116. result = self.parser.to_parse(line2)
  117. self.assertEqual(result, [])
  118.  
  119. def test_e231(self):
  120. line = 'a = 1234234234,2342344352, 2459254'
  121. result = self.parser.to_parse(line)
  122. self.assertEqual(result, ['E231:missing whitespace after ‘,’, ‘;’, or ‘:’'])
  123.  
  124. def test_e251(self):
  125. line = ' def setUp(self, number = 0):'
  126. result = self.parser.to_parse(line)
  127. self.assertEqual(result, ['E251:unexpected spaces around keyword / parameter equals'])
  128.  
  129. def test_e261(self):
  130. line = 'a = 5 # heresomecomment'
  131. result = self.parser.to_parse(line)
  132. self.assertEqual(result, ['E261:at least two spaces before inline comment'])
  133.  
  134. def test_e265(self):
  135. line = ' #heresomecomment'
  136. result = self.parser.to_parse(line)
  137. self.assertEqual(result, ['E265:block comment should start with ‘# ‘'])
  138.  
  139. def test_e266(self):
  140. line = ' ## heresomecomment'
  141. result = self.parser.to_parse(line)
  142. self.assertEqual(result, ['E266:too many leading ‘#’ for block comment'])
  143.  
  144. class TestIndentationParser(unittest.TestCase):
  145.  
  146. def setUp(self):
  147. self.parser = IndentationParser()
  148.  
  149. def test_e101(self):
  150. self.parser._reset()
  151. line = '\t somethint=some+thing'
  152. result = self.parser.to_parse(line)
  153. self.assertEqual(result, ['E101:indentation contains mixed spaces and tabs'])
  154.  
  155. def test_e111(self):
  156. self.parser._reset()
  157. line = ' somethint=some+thing'
  158. result = self.parser.to_parse(line)
  159. self.assertEqual(result, ['E111:indentation is not a multiple of four'])
  160.  
  161. def test_e112(self):
  162. self.parser._reset()
  163. messages = []
  164. lines = [' if self.expected < self.current:',
  165. ' if self.expected < self.current:']
  166. for line in lines:
  167. result = self.parser.to_parse(line)
  168. if result:
  169. messages.append(result)
  170. self.assertEqual(messages, [['E112:expected an indented block']])
  171.  
  172. def test_e113(self):
  173. self.parser._reset()
  174. messages = []
  175. lines = [' self.expected = self.current',
  176. ' self.expected += self.current']
  177. for line in lines:
  178. result = self.parser.to_parse(line)
  179. if result:
  180. messages.append(result)
  181. self.assertEqual(messages, [['E113:unexpected indentation']])
  182.  
  183. if __name__ == '__main__':
  184. unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement