diff options
| author | Lieuwe <lieuwemo@gmail.com> | 2011-03-18 16:04:51 (GMT) |
|---|---|---|
| committer | Lieuwe <lieuwemo@gmail.com> | 2011-03-18 16:04:51 (GMT) |
| commit | 9c39875ef09d439ef51716dba091188f72977f5e (patch) | |
| tree | fb0fd27a1bcd3e54a1913852c23aa137ee5eb30b /src/python/stdlib/test/test_userlist.py | |
| parent | bc8af4e2101ac93bdc51b59ee64fa43ecb2442f3 (diff) | |
| download | powder-9c39875ef09d439ef51716dba091188f72977f5e.zip powder-9c39875ef09d439ef51716dba091188f72977f5e.tar.gz | |
...
Diffstat (limited to 'src/python/stdlib/test/test_userlist.py')
| -rw-r--r-- | src/python/stdlib/test/test_userlist.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/python/stdlib/test/test_userlist.py b/src/python/stdlib/test/test_userlist.py new file mode 100644 index 0000000..3b601bc --- /dev/null +++ b/src/python/stdlib/test/test_userlist.py @@ -0,0 +1,61 @@ +# Check every path through every method of UserList + +from UserList import UserList +from test import test_support, list_tests + +class UserListTest(list_tests.CommonTest): + type2test = UserList + + def test_getslice(self): + super(UserListTest, self).test_getslice() + l = [0, 1, 2, 3, 4] + u = self.type2test(l) + for i in range(-3, 6): + self.assertEqual(u[:i], l[:i]) + self.assertEqual(u[i:], l[i:]) + for j in xrange(-3, 6): + self.assertEqual(u[i:j], l[i:j]) + + def test_add_specials(self): + u = UserList("spam") + u2 = u + "eggs" + self.assertEqual(u2, list("spameggs")) + + def test_radd_specials(self): + u = UserList("eggs") + u2 = "spam" + u + self.assertEqual(u2, list("spameggs")) + u2 = u.__radd__(UserList("spam")) + self.assertEqual(u2, list("spameggs")) + + def test_iadd(self): + super(UserListTest, self).test_iadd() + u = [0, 1] + u += UserList([0, 1]) + self.assertEqual(u, [0, 1, 0, 1]) + + def test_mixedcmp(self): + u = self.type2test([0, 1]) + self.assertEqual(u, [0, 1]) + self.assertNotEqual(u, [0]) + self.assertNotEqual(u, [0, 2]) + + def test_mixedadd(self): + u = self.type2test([0, 1]) + self.assertEqual(u + [], u) + self.assertEqual(u + [2], [0, 1, 2]) + + def test_getitemoverwriteiter(self): + # Verify that __getitem__ overrides *are* recognized by __iter__ + class T(self.type2test): + def __getitem__(self, key): + return str(key) + '!!!' + self.assertEqual(iter(T((1,2))).next(), "0!!!") + +def test_main(): + with test_support.check_py3k_warnings( + (".+__(get|set|del)slice__ has been removed", DeprecationWarning)): + test_support.run_unittest(UserListTest) + +if __name__ == "__main__": + test_main() |
