Ejemplo n.º 1
0
 def test_can_build_record(self):
     record = Record(["name", "age"], ["Alice", 33])
     assert len(record) == 2
     assert record.keys() == ("name", "age")
     assert record.values() == ("Alice", 33)
     r = repr(record)
     assert r.startswith("(") and r.endswith(")")
Ejemplo n.º 2
0
 def test_can_build_record(self):
     record = Record(["name", "age"], ["Alice", 33])
     assert len(record) == 2
     assert record.keys() == ("name", "age")
     assert record.values() == ("Alice", 33)
     r = repr(record)
     assert r.startswith("(") and r.endswith(")")
Ejemplo n.º 3
0
 def test_can_get_record_values_by_slice_using_getslice(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     try:
         s = record.__getslice__(0, 2)
     except AttributeError:
         assert True
     else:
         assert s == Record(["one", "two"], ["eins", "zwei"])
Ejemplo n.º 4
0
 def test_can_get_record_values_by_slice_using_getslice(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     try:
         s = record.__getslice__(0, 2)
     except AttributeError:
         assert True
     else:
         assert s == Record(["one", "two"], ["eins", "zwei"])
Ejemplo n.º 5
0
 def test_record_can_be_exposed_as_graph(self):
     keys = ["a", "b", "ab", "msg"]
     values = [alice, bob, alice_knows_bob, "hello, world"]
     record = Record(keys, values)
     assert len(record) == 4
     assert record.order() == 2
     assert record.size() == 1
     assert record.nodes() == {alice, bob}
     assert record.relationships() == {alice_knows_bob}
     assert list(record.keys()) == keys
     assert list(record.values()) == values
Ejemplo n.º 6
0
 def test_record_can_be_exposed_as_graph(self):
     keys = ["a", "b", "ab", "msg"]
     values = [alice, bob, alice_knows_bob, "hello, world"]
     record = Record(keys, values)
     assert len(record) == 4
     assert record.order() == 2
     assert record.size() == 1
     assert record.nodes() == {alice, bob}
     assert record.relationships() == {alice_knows_bob}
     assert list(record.keys()) == keys
     assert list(record.values()) == values
Ejemplo n.º 7
0
 def test_can_get_record_values_by_slice_using_getitem(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     assert record.__getitem__(slice(0, 2)) == Record(["one", "two"], ["eins", "zwei"])
Ejemplo n.º 8
0
 def test_cannot_get_record_value_by_anything_else(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     with self.assertRaises(TypeError):
         _ = record[None]
Ejemplo n.º 9
0
 def test_can_get_record_values_by_slice_using_getitem(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     assert record.__getitem__(slice(0, 2)) == Record(["one", "two"],
                                                      ["eins", "zwei"])
Ejemplo n.º 10
0
 def test_can_get_record_values_by_slice(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     assert record[0:2] == Record(["one", "two"], ["eins", "zwei"])
     assert record[1:2] == Record(["two"], ["zwei"])
     assert record[1:3] == Record(["two", "three"], ["zwei", "drei"])
     assert record[1:] == Record(["two", "three"], ["zwei", "drei"])
Ejemplo n.º 11
0
 def test_can_get_record_value_by_index(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     assert record[0] == "eins"
     assert record[1] == "zwei"
     assert record[2] == "drei"
     assert record[-1] == "drei"
Ejemplo n.º 12
0
 def test_cannot_get_record_value_by_missing_name(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     with self.assertRaises(KeyError):
         _ = record["four"]
Ejemplo n.º 13
0
 def test_can_get_record_value_by_name(self):
     record = Record(["one", "two", "three"], ["eins", "zwei", "drei"])
     assert record["one"] == "eins"
     assert record["two"] == "zwei"
     assert record["three"] == "drei"
Ejemplo n.º 14
0
 def test_can_coerce_record(self):
     record = Record(["name", "age"], ["Alice", 33])
     assert tuple(record) == ("Alice", 33)
     assert list(record) == ["Alice", 33]
     assert dict(record) == {"name": "Alice", "age": 33}
Ejemplo n.º 15
0
 def test_cannot_build_record_with_mismatched_keys_and_values(self):
     with self.assertRaises(ValueError):
         Record(["name"], ["Alice", 33])
Ejemplo n.º 16
0
from cypy.primitive import PropertySet, PropertyContainer, TraversableGraph, \
    Graph, Node, Relationship, Path, Record, RecordList

alice = Node("Person", "Employee", name="Alice", age=33)
bob = Node("Person")
carol = Node("Person")
dave = Node("Person")

alice_knows_bob = Relationship(alice, "KNOWS", bob, since=1999)
alice_likes_carol = Relationship(alice, "LIKES", carol)
carol_dislikes_bob = Relationship(carol, "DISLIKES", bob)
carol_married_to_dave = Relationship(carol, "MARRIED_TO", dave)
dave_works_for_dave = Relationship(dave, "WORKS_FOR", dave)

record_keys = ["employee_id", "Person"]
record_a = Record(record_keys, [1001, alice])
record_b = Record(record_keys, [1002, bob])
record_c = Record(record_keys, [1003, carol])
record_d = Record(record_keys, [1004, dave])

record_list = RecordList([record_a, record_b, record_c, record_d])


class PropertyCoercionTestCase(TestCase):
    def test_boolean(self):
        props = PropertySet({"value": True})
        assert props == {"value": True}

    def test_integer_in_range(self):
        props = PropertySet({"value": 1})
        assert props == {"value": 1}