def test_record_hashing(self): record1 = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) record2 = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) record3 = Record(zip(["name", "empire"], ["Stefan", "Das Deutschland"])) assert hash(record1) == hash(record2) assert hash(record1) != hash(record3) assert hash(record2) != hash(record3)
def test_record_equality(self): record1 = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) record2 = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) record3 = Record(zip(["name", "empire"], ["Stefan", "Das Deutschland"])) assert record1 == record2 assert record1 != record3 assert record2 != record3
def test_record_contains(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertTrue("Alice" in r) self.assertTrue(33 in r) self.assertTrue(True in r) self.assertFalse(7.5 in r) with self.assertRaises(TypeError): _ = r.index(None)
def test_record_contains(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert "Alice" in r assert 33 in r assert True in r assert 7.5 not in r with pytest.raises(TypeError): _ = r.index(None)
def test_record_data(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r.data() == {"name": "Alice", "age": 33, "married": True} assert r.data("name") == {"name": "Alice"} assert r.data("age", "name") == {"age": 33, "name": "Alice"} assert r.data("age", "name", "shoe size") == {"age": 33, "name": "Alice", "shoe size": None} assert r.data(0, "name") == {"name": "Alice"} assert r.data(0) == {"name": "Alice"} assert r.data(1, 0) == {"age": 33, "name": "Alice"} with pytest.raises(IndexError): _ = r.data(1, 0, 999)
def test_record_items(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r.items() == [("name", "Alice"), ("age", 33), ("married", True)] assert r.items("name") == [("name", "Alice")] assert r.items("age", "name") == [("age", 33), ("name", "Alice")] assert r.items("age", "name", "shoe size") == [("age", 33), ("name", "Alice"), ("shoe size", None)] assert r.items(0, "name") == [("name", "Alice"), ("name", "Alice")] assert r.items(0) == [("name", "Alice")] assert r.items(1, 0) == [("age", 33), ("name", "Alice")] with pytest.raises(IndexError): _ = r.items(1, 0, 999)
def test_record_data(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertEqual(r.data(), {"name": "Alice", "age": 33, "married": True}) self.assertEqual(r.data("name"), {"name": "Alice"}) self.assertEqual(r.data("age", "name"), {"age": 33, "name": "Alice"}) self.assertEqual(r.data("age", "name", "shoe size"), {"age": 33, "name": "Alice", "shoe size": None}) self.assertEqual(r.data(0, "name"), {"name": "Alice"}) self.assertEqual(r.data(0), {"name": "Alice"}) self.assertEqual(r.data(1, 0), {"age": 33, "name": "Alice"}) with self.assertRaises(IndexError): _ = r.data(1, 0, 999)
def test_record_values(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r.values() == ["Alice", 33, True] assert r.values("name") == ["Alice"] assert r.values("age", "name") == [33, "Alice"] assert r.values("age", "name", "shoe size") == [33, "Alice", None] assert r.values(0, "name") == ["Alice", "Alice"] assert r.values(0) == ["Alice"] assert r.values(1, 0) == [33, "Alice"] with pytest.raises(IndexError): _ = r.values(1, 0, 999)
def test_record_items(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertEqual(r.items(), [("name", "Alice"), ("age", 33), ("married", True)]) self.assertEqual(r.items("name"), [("name", "Alice")]) self.assertEqual(r.items("age", "name"), [("age", 33), ("name", "Alice")]) self.assertEqual(r.items("age", "name", "shoe size"), [("age", 33), ("name", "Alice"), ("shoe size", None)]) self.assertEqual(r.items(0, "name"), [("name", "Alice"), ("name", "Alice")]) self.assertEqual(r.items(0), [("name", "Alice")]) self.assertEqual(r.items(1, 0), [("age", 33), ("name", "Alice")]) with self.assertRaises(IndexError): _ = r.items(1, 0, 999)
def test_record_index(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertEqual(r.index("name"), 0) self.assertEqual(r.index("age"), 1) self.assertEqual(r.index("married"), 2) with self.assertRaises(KeyError): _ = r.index("shoe size") self.assertEqual(r.index(0), 0) self.assertEqual(r.index(1), 1) self.assertEqual(r.index(2), 2) with self.assertRaises(IndexError): _ = r.index(3) with self.assertRaises(TypeError): _ = r.index(None)
def test_record_index(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r.index("name") == 0 assert r.index("age") == 1 assert r.index("married") == 2 with pytest.raises(KeyError): _ = r.index("shoe size") assert r.index(0) == 0 assert r.index(1) == 1 assert r.index(2) == 2 with pytest.raises(IndexError): _ = r.index(3) with pytest.raises(TypeError): _ = r.index(None)
def test_record_as_dict(self): a_record = Record( zip(["name", "empire"], ["Nigel", "The British Empire"])) assert dict(a_record) == { "name": "Nigel", "empire": "The British Empire" }
async def __anext__(self): try: values = await self._body.get_record() except BoltFailure as failure: # FAILURE await self._tx.fail(failure) else: # RECORD or end of records if values is None: raise StopAsyncIteration else: return Record(zip(await self.fields(), values))
def test_record_value(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r.value() == "Alice" assert r.value("name") == "Alice" assert r.value("age") == 33 assert r.value("married") is True assert r.value("shoe size") is None assert r.value("shoe size", 6) == 6 assert r.value(0) == "Alice" assert r.value(1) == 33 assert r.value(2) is True assert r.value(3) is None assert r.value(3, 6) == 6 with pytest.raises(TypeError): _ = r.value(None)
def test_record_repr(self): a_record = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) assert repr(a_record) == "<Record name='Nigel' empire='The British Empire'>"
def test_record_len(self): a_record = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) assert len(a_record) == 2
def test_record_as_list(self): a_record = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) assert list(a_record) == ["Nigel", "The British Empire"]
def test_record_iter(self): a_record = Record(zip(["name", "empire"], ["Nigel", "The British Empire"])) assert list(a_record.__iter__()) == ["Nigel", "The British Empire"]
def test_record_from_dict(): r = Record({"name": "Alice", "age": 33}) assert r["name"] == "Alice" assert r["age"] == 33
def hydrate_records(self, keys, record_values): for values in record_values: yield Record(zip(keys, self.hydrate(values)))
def test_record_get_by_out_of_bounds_index(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertIsNone(r[9])
def test_record_get_by_name(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertEqual("Alice", r["name"])
def test_record_get_slice(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertEqual(Record(zip(["name", "age"], ["Alice", 33])), r[0:2])
def test_record_from_dict(self): r = Record({"name": "Alice", "age": 33}) self.assertEqual("Alice", r["name"]) self.assertEqual(33, r["age"])
def test_record_get_by_name(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r["name"] == "Alice"
def test_record_get_by_out_of_bounds_index(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r[9] is None
def test_record_keys(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert r.keys() == ["name", "age", "married"]
def test_record_keys(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertEqual(r.keys(), ["name", "age", "married"])
def test_record_value(self): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) self.assertEqual(r.value(), "Alice") self.assertEqual(r.value("name"), "Alice") self.assertEqual(r.value("age"), 33) self.assertEqual(r.value("married"), True) self.assertEqual(r.value("shoe size"), None) self.assertEqual(r.value("shoe size", 6), 6) self.assertEqual(r.value(0), "Alice") self.assertEqual(r.value(1), 33) self.assertEqual(r.value(2), True) self.assertEqual(r.value(3), None) self.assertEqual(r.value(3, 6), 6) with self.assertRaises(TypeError): _ = r.value(None)
def test_record_get_slice(): r = Record(zip(["name", "age", "married"], ["Alice", 33, True])) assert Record(zip(["name", "age"], ["Alice", 33])) == r[0:2]