MCPcopy
hub / github.com/MagicStack/asyncpg / test_record_items

Method test_record_items

tests/test_record.py:163–198  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

161 self.assertEqual(list(Record(None, (42, 43)).keys()), [])
162
163 def test_record_items(self):
164 r = Record(R_AB, (42, 43))
165
166 self.assertEqual(dict(r), {'a': 42, 'b': 43})
167 self.assertEqual(
168 list(collections.OrderedDict(r).items()),
169 [('a', 42), ('b', 43)])
170
171 with self.checkref(r):
172 rk = r.items()
173 self.assertEqual(rk.__length_hint__(), 2)
174 self.assertEqual(next(rk), ('a', 42))
175 self.assertEqual(rk.__length_hint__(), 1)
176 self.assertEqual(next(rk), ('b', 43))
177 self.assertEqual(rk.__length_hint__(), 0)
178
179 with self.assertRaises(StopIteration):
180 next(rk)
181 with self.assertRaises(StopIteration):
182 next(rk)
183
184 self.assertEqual(rk.__length_hint__(), 0)
185
186 self.assertEqual(list(r.items()), [('a', 42), ('b', 43)])
187
188 # Check invalid records just in case
189 r = Record(R_A, (42, 43))
190 self.assertEqual(list(r.items()), [('a', 42)])
191 r = Record(R_AB, (42,))
192 self.assertEqual(list(r.items()), [('a', 42)])
193
194 # Try to iterate over exhausted items() iterator
195 r = Record(R_A, (42, 43))
196 it = r.items()
197 list(it)
198 list(it)
199
200 def test_record_hash(self):
201 AB = collections.namedtuple('AB', ('a', 'b'))

Callers

nothing calls this directly

Calls 1

checkrefMethod · 0.95

Tested by

no test coverage detected