(self)
| 19 | |
| 20 | class TestNativeItermethods: |
| 21 | def test_basic(self): |
| 22 | class StupidDict: |
| 23 | def keys(self, multi=1): |
| 24 | return iter(["a", "b", "c"] * multi) |
| 25 | |
| 26 | def values(self, multi=1): |
| 27 | return iter([1, 2, 3] * multi) |
| 28 | |
| 29 | def items(self, multi=1): |
| 30 | return iter( |
| 31 | zip(iter(self.keys(multi=multi)), iter(self.values(multi=multi))) |
| 32 | ) |
| 33 | |
| 34 | d = StupidDict() |
| 35 | expected_keys = ["a", "b", "c"] |
| 36 | expected_values = [1, 2, 3] |
| 37 | expected_items = list(zip(expected_keys, expected_values)) |
| 38 | |
| 39 | assert list(d.keys()) == expected_keys |
| 40 | assert list(d.values()) == expected_values |
| 41 | assert list(d.items()) == expected_items |
| 42 | |
| 43 | assert list(d.keys(2)) == expected_keys * 2 |
| 44 | assert list(d.values(2)) == expected_values * 2 |
| 45 | assert list(d.items(2)) == expected_items * 2 |
| 46 | |
| 47 | |
| 48 | class _MutableMultiDictTests: |
nothing calls this directly
no test coverage detected