Package pytils :: Package test :: Module test_utils
[hide private]
[frames] | no frames]

Source Code for Module pytils.test.test_utils

  1  # -*- coding: utf-8 -*- 
  2  # License: GNU GPL2 
  3  # Author: Pythy <the.pythy@gmail.com> 
  4  """ 
  5  Unit-tests for pytils.utils 
  6  """ 
  7   
  8  __id__ = __revision__ = "$Id: test_utils.py 18 2006-10-17 15:58:01Z the.pythy $" 
  9  __url__ = "$URL: https://pythy.googlecode.com/svn/trunk/pytils/pytils/test/test_utils.py $" 
 10   
 11  import unittest 
 12  import pytils  
 13   
14 -class UnicodeTestCase(unittest.TestCase):
15 """ 16 Test case for unicode-utils 17 """ 18
19 - def ckProvideUnicode(self, stext, encoding, utext):
20 """ 21 Check pytils.provide_unicode 22 """ 23 self.assertEquals( 24 pytils.utils.provide_unicode(stext, encoding), 25 utext 26 )
27
28 - def ckProvideStr(self, utext, encoding, stext):
29 """ 30 Check pytils.provide_str 31 """ 32 self.assertEquals( 33 pytils.utils.provide_str(utext, encoding), 34 stext 35 )
36
37 - def testProvideUnicode(self):
38 """ 39 Unit-tests for pytils.utils.provide_unicode 40 """ 41 self.ckProvideUnicode("тест №1", "utf-8", u"тест №1")
42
43 - def testProvideStr(self):
44 """ 45 Unit-tests for pytils.utils.provide_str 46 """ 47 self.ckProvideStr(u"тест №1", "utf-8", "тест №1") 48 self.ckProvideStr(u"тест №1", "koi8-r", "unknown")
49
50 - def testProvideStrNonDefault(self):
51 """ 52 Unit-tests for pytils.utils.provide_str with 'default' parameter 53 """ 54 self.assertEquals( 55 pytils.utils.provide_str(u"тест №1", "koi8-r", default="hz"), 56 "hz" 57 )
58
59 -class ChecksTestCase(unittest.TestCase):
60 """ 61 Test case for check_* utils 62 """ 63
64 - def testGetValueByName(self):
65 """ 66 Unit-test for pytils.utils.get_value_by_name 67 """ 68 var1 = '25' 69 var2 = 25 70 self.assertEquals('25', pytils.utils.get_value_by_name('var1', depth=1)) 71 self.assertEquals(25, pytils.utils.get_value_by_name('var2', depth=1)) 72 self.assertRaises(RuntimeError, pytils.utils.get_value_by_name, 'var3')
73 74
75 - def testCheckType(self):
76 """ 77 Unit-test for pytils.utils.check_type 78 """ 79 var = '25' 80 # нельзя assertRaises, потому что глубина стека вызовов тогда не 2, 81 # а гораздо больше 82 try: 83 pytils.utils.check_type('var', int) 84 except TypeError, err: 85 self.assertEquals("var must be <type 'int'>, not <type 'str'>", 86 str(err)) 87 try: 88 pytils.utils.check_type('var', (int, float)) 89 except TypeError, err: 90 self.assertEquals("var must be (<type 'int'>, <type 'float'>), " + \ 91 "not <type 'str'>", 92 str(err)) 93 self.assertEquals(None, pytils.utils.check_type('var', str)) 94 self.assertEquals(None, pytils.utils.check_type('var', 95 (str, basestring)))
96
97 - def testCheckLength(self):
98 """ 99 Unit-test for pytils.utils.check_length 100 """ 101 var = 'test' 102 self.assertEquals(None, pytils.utils.check_length('var', 4)) 103 try: 104 pytils.utils.check_length('var', 5) 105 except ValueError, err: 106 self.assertEquals("var's length must be 5, but it 4", 107 str(err))
108
109 - def testCheckPositive(self):
110 """ 111 Unit-test for pytils.utils.check_positive 112 """ 113 var1 = 1 114 var2 = 1.25 115 var3 = -2 116 var4 = -2.12 117 118 self.assertEquals(None, pytils.utils.check_positive('var1')) 119 self.assertEquals(None, pytils.utils.check_positive('var2')) 120 121 try: 122 pytils.utils.check_positive('var3') 123 except ValueError, err: 124 self.assertEquals("var3 must be positive or zero, not -2", 125 str(err)) 126 try: 127 pytils.utils.check_positive('var4') 128 except ValueError, err: 129 self.assertEquals("var4 must be positive or zero, not -2.12", 130 str(err))
131
132 - def testCheckPositiveStrict(self):
133 """ 134 Unit-test for pytils.utils.check_positive 135 """ 136 var1 = 1 137 var2 = 0 138 var3 = -2 139 140 self.assertEquals(None, pytils.utils.check_positive('var1', strict=True)) 141 142 try: 143 pytils.utils.check_positive('var2', strict=True) 144 except ValueError, err: 145 self.assertEquals("var2 must be positive, not 0", 146 str(err)) 147 try: 148 pytils.utils.check_positive('var3') 149 except ValueError, err: 150 self.assertEquals("var3 must be positive or zero, not -2", 151 str(err))
152 153 154 if __name__ == '__main__': 155 unittest.main() 156