| 125 | self.assertEqual(next(iter(T((1,2)))), "0!!!") |
| 126 | |
| 127 | def test_implementation(self): |
| 128 | u = UserList([1]) |
| 129 | with (support.swap_attr(UserList, '__len__', None), |
| 130 | support.swap_attr(UserList, 'insert', None)): |
| 131 | u.append(2) |
| 132 | self.assertEqual(u, [1, 2]) |
| 133 | with support.swap_attr(UserList, 'append', None): |
| 134 | u.extend([3, 4]) |
| 135 | self.assertEqual(u, [1, 2, 3, 4]) |
| 136 | with support.swap_attr(UserList, 'append', None): |
| 137 | u.extend(UserList([3, 4])) |
| 138 | self.assertEqual(u, [1, 2, 3, 4, 3, 4]) |
| 139 | with support.swap_attr(UserList, '__iter__', None): |
| 140 | c = u.count(3) |
| 141 | self.assertEqual(c, 2) |
| 142 | with (support.swap_attr(UserList, '__iter__', None), |
| 143 | support.swap_attr(UserList, '__getitem__', None)): |
| 144 | i = u.index(4) |
| 145 | self.assertEqual(i, 3) |
| 146 | with (support.swap_attr(UserList, 'index', None), |
| 147 | support.swap_attr(UserList, '__getitem__', None)): |
| 148 | u.remove(3) |
| 149 | self.assertEqual(u, [1, 2, 4, 3, 4]) |
| 150 | with (support.swap_attr(UserList, '__getitem__', None), |
| 151 | support.swap_attr(UserList, '__delitem__', None)): |
| 152 | u.pop() |
| 153 | self.assertEqual(u, [1, 2, 4, 3]) |
| 154 | with (support.swap_attr(UserList, '__len__', None), |
| 155 | support.swap_attr(UserList, '__getitem__', None), |
| 156 | support.swap_attr(UserList, '__setitem__', None)): |
| 157 | u.reverse() |
| 158 | self.assertEqual(u, [3, 4, 2, 1]) |
| 159 | with (support.swap_attr(UserList, '__len__', None), |
| 160 | support.swap_attr(UserList, 'pop', None)): |
| 161 | u.clear() |
| 162 | self.assertEqual(u, []) |
| 163 | |
| 164 | def test_userlist_copy(self): |
| 165 | u = self.type2test([6, 8, 1, 9, 1]) |