1 # Check every path through every method of UserDict
3 from test_support
import verify
, verbose
4 from UserDict
import UserDict
, IterableUserDict
8 d2
= {"one": 1, "two": 2}
15 u2
= IterableUserDict(d2
)
24 verify(str(u0
) == str(d0
))
25 verify(repr(u1
) == repr(d1
))
28 # Test __cmp__ and __len__
30 all
= [d0
, d1
, d2
, u
, u0
, u1
, u2
, uu
, uu0
, uu1
, uu2
]
33 verify(cmp(a
, b
) == cmp(len(a
), len(b
)))
37 verify(u2
["one"] == 1)
43 verify(0, "u1['two'] shouldn't exist")
59 verify(0, "u3['three'] shouldn't exist")
71 class MyUserDict(UserDict
):
72 def display(self
): print self
78 # SF bug #476616 -- copy() of UserDict subclass shared data
82 # Test keys, items, values
84 verify(u2
.keys() == d2
.keys())
85 verify(u2
.items() == d2
.items())
86 verify(u2
.values() == d2
.values())
88 # Test has_key and "in".
91 verify(u2
.has_key(i
) == 1)
92 verify((i
in u2
) == 1)
93 verify(u1
.has_key(i
) == d1
.has_key(i
))
94 verify((i
in u1
) == (i
in d1
))
95 verify(u0
.has_key(i
) == d0
.has_key(i
))
96 verify((i
in u0
) == (i
in d0
))
107 verify(u2
.get(i
) == u2
[i
])
108 verify(u1
.get(i
) == d1
.get(i
))
109 verify(u0
.get(i
) == d0
.get(i
))
111 # Test "in" iteration.
120 verify(ikeys
== keys
)