test/unittest_utils.py
branchstable
changeset 5069 135c5d7b89d0
parent 4890 b54255f82812
child 5077 dc448c9ad9dd
equal deleted inserted replaced
5068:10c3422d7419 5069:135c5d7b89d0
     9 import re
     9 import re
    10 import decimal
    10 import decimal
    11 import datetime
    11 import datetime
    12 
    12 
    13 from logilab.common.testlib import TestCase, unittest_main
    13 from logilab.common.testlib import TestCase, unittest_main
    14 from cubicweb.utils import make_uid, UStringIO, SizeConstrainedList
    14 from cubicweb.utils import make_uid, UStringIO, SizeConstrainedList, RepeatList
    15 
    15 
    16 try:
    16 try:
    17     import simplejson
    17     import simplejson
    18     from cubicweb.utils import CubicWebJsonEncoder
    18     from cubicweb.utils import CubicWebJsonEncoder
    19 except ImportError:
    19 except ImportError:
    37 
    37 
    38 
    38 
    39 class UStringIOTC(TestCase):
    39 class UStringIOTC(TestCase):
    40     def test_boolean_value(self):
    40     def test_boolean_value(self):
    41         self.assert_(UStringIO())
    41         self.assert_(UStringIO())
       
    42 
       
    43 
       
    44 class RepeatListTC(TestCase):
       
    45 
       
    46     def test_base(self):
       
    47         l = RepeatList(3, (1, 3))
       
    48         self.assertEquals(l[0], (1, 3))
       
    49         self.assertEquals(l[2], (1, 3))
       
    50         self.assertEquals(l[-1], (1, 3))
       
    51         self.assertEquals(len(l), 3)
       
    52         # XXX
       
    53         self.assertEquals(l[4], (1, 3))
       
    54 
       
    55         self.failIf(RepeatList(0, None))
       
    56 
       
    57     def test_slice(self):
       
    58         l = RepeatList(3, (1, 3))
       
    59         self.assertEquals(l[0:1], [(1, 3)])
       
    60         self.assertEquals(l[0:4], [(1, 3)]*3)
       
    61         self.assertEquals(l[:], [(1, 3)]*3)
       
    62 
       
    63     def test_iter(self):
       
    64         self.assertEquals(list(RepeatList(3, (1, 3))),
       
    65                           [(1, 3)]*3)
       
    66 
       
    67     def test_add(self):
       
    68         l = RepeatList(3, (1, 3))
       
    69         self.assertEquals(l + [(1, 4)], [(1, 3)]*3  + [(1, 4)])
       
    70         self.assertEquals([(1, 4)] + l, [(1, 4)] + [(1, 3)]*3)
       
    71         self.assertEquals(l + RepeatList(2, (2, 3)), [(1, 3)]*3 + [(2, 3)]*2)
       
    72 
       
    73         x = l + RepeatList(2, (1, 3))
       
    74         self.assertIsInstance(x, RepeatList)
       
    75         self.assertEquals(len(x), 5)
       
    76         self.assertEquals(x[0], (1, 3))
       
    77 
       
    78         x = l + [(1, 3)] * 2
       
    79         self.assertEquals(x, [(1, 3)] * 5)
    42 
    80 
    43 
    81 
    44 class SizeConstrainedListTC(TestCase):
    82 class SizeConstrainedListTC(TestCase):
    45 
    83 
    46     def test_append(self):
    84     def test_append(self):