(self)
| 558 | await self.con.fetchval('select now($1::void)', '') |
| 559 | |
| 560 | def test_bitstring(self): |
| 561 | bitlen = random.randint(0, 1000) |
| 562 | bs = ''.join(random.choice(('1', '0', ' ')) for _ in range(bitlen)) |
| 563 | bits = asyncpg.BitString(bs) |
| 564 | sanitized_bs = bs.replace(' ', '') |
| 565 | self.assertEqual(sanitized_bs, |
| 566 | bits.as_string().replace(' ', '')) |
| 567 | |
| 568 | expected_bytelen = \ |
| 569 | len(sanitized_bs) // 8 + (1 if len(sanitized_bs) % 8 else 0) |
| 570 | |
| 571 | self.assertEqual(len(bits.bytes), expected_bytelen) |
| 572 | |
| 573 | little, big = bits.to_int('little'), bits.to_int('big') |
| 574 | self.assertEqual(bits.from_int(little, len(bits), 'little'), bits) |
| 575 | self.assertEqual(bits.from_int(big, len(bits), 'big'), bits) |
| 576 | |
| 577 | naive_little = 0 |
| 578 | for i, c in enumerate(sanitized_bs): |
| 579 | naive_little |= int(c) << i |
| 580 | naive_big = 0 |
| 581 | for c in sanitized_bs: |
| 582 | naive_big = (naive_big << 1) | int(c) |
| 583 | |
| 584 | self.assertEqual(little, naive_little) |
| 585 | self.assertEqual(big, naive_big) |
| 586 | |
| 587 | async def test_interval(self): |
| 588 | res = await self.con.fetchval("SELECT '5 years'::interval") |
nothing calls this directly
no outgoing calls
no test coverage detected