test_utils.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # -*- coding: utf-8 -*-
  2. """
  3. Unit-tests for pytils.utils
  4. """
  5. import decimal
  6. import unittest
  7. import pytils
  8. class ChecksTestCase(unittest.TestCase):
  9. """
  10. Test case for check_* utils
  11. """
  12. def testCheckLength(self):
  13. """
  14. Unit-test for pytils.utils.check_length
  15. """
  16. self.assertEqual(pytils.utils.check_length("var", 3), None)
  17. self.assertRaises(ValueError, pytils.utils.check_length, "var", 4)
  18. self.assertRaises(ValueError, pytils.utils.check_length, "var", 2)
  19. self.assertRaises(ValueError, pytils.utils.check_length, (1,2), 3)
  20. def testCheckPositive(self):
  21. """
  22. Unit-test for pytils.utils.check_positive
  23. """
  24. self.assertEqual(pytils.utils.check_positive(0), None)
  25. self.assertEqual(pytils.utils.check_positive(1), None)
  26. self.assertEqual(pytils.utils.check_positive(1, False), None)
  27. self.assertEqual(pytils.utils.check_positive(1, strict=False), None)
  28. self.assertEqual(pytils.utils.check_positive(1, True), None)
  29. self.assertEqual(pytils.utils.check_positive(1, strict=True), None)
  30. self.assertEqual(pytils.utils.check_positive(decimal.Decimal("2.0")), None)
  31. self.assertEqual(pytils.utils.check_positive(2.0), None)
  32. self.assertRaises(ValueError, pytils.utils.check_positive, -2)
  33. self.assertRaises(ValueError, pytils.utils.check_positive, -2.0)
  34. self.assertRaises(ValueError, pytils.utils.check_positive, decimal.Decimal("-2.0"))
  35. self.assertRaises(ValueError, pytils.utils.check_positive, 0, True)
  36. class SplitValuesTestCase(unittest.TestCase):
  37. def testClassicSplit(self):
  38. """
  39. Unit-test for pytils.utils.split_values, classic split
  40. """
  41. self.assertEqual(("Раз", "Два", "Три"), pytils.utils.split_values("Раз,Два,Три"))
  42. self.assertEqual(("Раз", "Два", "Три"), pytils.utils.split_values("Раз, Два,Три"))
  43. self.assertEqual(("Раз", "Два", "Три"), pytils.utils.split_values(" Раз, Два, Три "))
  44. self.assertEqual(("Раз", "Два", "Три"), pytils.utils.split_values(" Раз, \nДва,\n Три "))
  45. def testEscapedSplit(self):
  46. """
  47. Unit-test for pytils.utils.split_values, split with escaping
  48. """
  49. self.assertEqual(("Раз,Два", "Три,Четыре", "Пять,Шесть"), pytils.utils.split_values("Раз\,Два,Три\,Четыре,Пять\,Шесть"))
  50. self.assertEqual(("Раз, Два", "Три", "Четыре"), pytils.utils.split_values("Раз\, Два, Три, Четыре"))
  51. if __name__ == '__main__':
  52. unittest.main()