~ubuntu-branches/ubuntu/karmic/pypy/karmic

« back to all changes in this revision

Viewing changes to lib-python/modified-2.4.1/test/test_userlist.py

  • Committer: Bazaar Package Importer
  • Author(s): Alexandre Fayolle
  • Date: 2007-04-13 09:33:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070413093309-yoojh4jcoocu2krz
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Check every path through every method of UserList
 
2
 
 
3
from UserList import UserList
 
4
import unittest
 
5
from test import test_support, list_tests
 
6
 
 
7
class UserListTest(list_tests.CommonTest):
 
8
    type2test = UserList
 
9
 
 
10
    def test_getslice(self):
 
11
        super(UserListTest, self).test_getslice()
 
12
        l = [0, 1, 2, 3, 4]
 
13
        u = self.type2test(l)
 
14
        for i in range(-3, 6):
 
15
            self.assertEqual(u[:i], l[:i])
 
16
            self.assertEqual(u[i:], l[i:])
 
17
            for j in xrange(-3, 6):
 
18
                self.assertEqual(u[i:j], l[i:j])
 
19
 
 
20
    def test_add_specials(self):
 
21
        u = UserList("spam")
 
22
        u2 = u + "eggs"
 
23
        self.assertEqual(u2, list("spameggs"))
 
24
 
 
25
    def test_radd_specials(self):
 
26
        u = UserList("eggs")
 
27
        u2 = "spam" + u
 
28
        self.assertEqual(u2, list("spameggs"))
 
29
        u2 = u.__radd__(UserList("spam"))
 
30
        self.assertEqual(u2, list("spameggs"))
 
31
 
 
32
    def test_iadd(self):
 
33
        super(UserListTest, self).test_iadd()
 
34
        u = [0, 1]
 
35
        u += UserList([0, 1])
 
36
        self.assertEqual(u, [0, 1, 0, 1])
 
37
 
 
38
    def test_mixedcmp(self):
 
39
        u = self.type2test([0, 1])
 
40
        self.assertEqual(u, [0, 1])
 
41
        self.assertNotEqual(u, [0])
 
42
        self.assertNotEqual(u, [0, 2])
 
43
 
 
44
    def test_mixedadd(self):
 
45
        u = self.type2test([0, 1])
 
46
        self.assertEqual(u + [], u)
 
47
        self.assertEqual(u + [2], [0, 1, 2])
 
48
 
 
49
    def test_getitemoverwriteiter(self):
 
50
        # Verify that __getitem__ overrides *are* recognized by __iter__
 
51
        class T(self.type2test):
 
52
            def __getitem__(self, key):
 
53
                return str(key) + '!!!'
 
54
        self.assertEqual(iter(T((1,2))).next(), "0!!!")
 
55
 
 
56
def test_main():
 
57
    test_support.run_unittest(UserListTest)
 
58
 
 
59
if __name__ == "__main__":
 
60
    test_main()