Development of an internal social media platform with personalised dashboards for students
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_comparetozero.py 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # -*- coding: utf-8 -*-
  2. # Copyright (c) 2016 Alexander Todorov <atodorov@otb.bg>
  3. # Copyright (c) 2016 Łukasz Rogalski <rogalski.91@gmail.com>
  4. # Copyright (c) 2017 Claudiu Popa <pcmanticore@gmail.com>
  5. # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  6. # For details: https://github.com/PyCQA/pylint/blob/master/COPYING
  7. """Tests for the pylint checker in :mod:`pylint.extensions.emptystring
  8. """
  9. import os
  10. import os.path as osp
  11. import unittest
  12. from pylint import checkers
  13. from pylint.extensions.comparetozero import CompareToZeroChecker
  14. from pylint.lint import PyLinter
  15. from pylint.reporters import BaseReporter
  16. class CompareToZeroTestReporter(BaseReporter):
  17. def handle_message(self, msg):
  18. self.messages.append(msg)
  19. def on_set_current_module(self, module, filepath):
  20. self.messages = []
  21. class CompareToZeroUsedTC(unittest.TestCase):
  22. @classmethod
  23. def setUpClass(cls):
  24. cls._linter = PyLinter()
  25. cls._linter.set_reporter(CompareToZeroTestReporter())
  26. checkers.initialize(cls._linter)
  27. cls._linter.register_checker(CompareToZeroChecker(cls._linter))
  28. cls._linter.disable('I')
  29. def test_comparetozero_message(self):
  30. elif_test = osp.join(osp.dirname(osp.abspath(__file__)), 'data',
  31. 'compare_to_zero.py')
  32. self._linter.check([elif_test])
  33. msgs = self._linter.reporter.messages
  34. self.assertEqual(len(msgs), 6)
  35. for msg in msgs:
  36. self.assertEqual(msg.symbol, 'compare-to-zero')
  37. self.assertEqual(msg.msg, 'Avoid comparisons to zero')
  38. self.assertEqual(msgs[0].line, 6)
  39. self.assertEqual(msgs[1].line, 9)
  40. self.assertEqual(msgs[2].line, 12)
  41. self.assertEqual(msgs[3].line, 15)
  42. self.assertEqual(msgs[4].line, 18)
  43. self.assertEqual(msgs[5].line, 24)
  44. if __name__ == '__main__':
  45. unittest.main()