Пример #1
0
 def test_loop(self):
     assert dave_works_for_dave.start_node() == dave
     assert dave_works_for_dave.end_node() == dave
     assert list(
         walk(dave_works_for_dave)) == [dave, dave_works_for_dave, dave]
     assert order(dave_works_for_dave) == 1
     assert size(dave_works_for_dave) == 1
     assert set(dave_works_for_dave.nodes()) == {dave}
     assert set(
         dave_works_for_dave.relationships()) == {dave_works_for_dave}
Пример #2
0
 def test_relationship(self):
     assert alice_knows_bob.start_node() == alice
     assert alice_knows_bob.end_node() == bob
     assert list(walk(alice_knows_bob)) == [alice, alice_knows_bob, bob]
     assert alice_knows_bob.type() == "KNOWS"
     assert dict(alice_knows_bob) == {"since": 1999}
     assert alice_knows_bob["since"] == 1999
     assert order(alice_knows_bob) == 2
     assert size(alice_knows_bob) == 1
     assert set(alice_knows_bob.nodes()) == {alice, bob}
     assert set(alice_knows_bob.relationships()) == {alice_knows_bob}
Пример #3
0
 def test_construction_of_path_length_1(self):
     sequence = [alice, alice_knows_bob, bob]
     path = Path(*sequence)
     assert order(path) == 2
     assert size(path) == 1
     assert len(path) == 1
     assert set(path.nodes()) == {alice, bob}
     assert set(path.relationships()) == {alice_knows_bob}
     assert path.start_node() == alice
     assert path.end_node() == bob
     assert len(path) == 1
     assert list(walk(path)) == sequence
Пример #4
0
 def test_construction_of_path_length_0(self):
     sequence = [alice]
     path = Path(*sequence)
     assert order(path) == 1
     assert size(path) == 0
     assert len(path) == 0
     assert set(path.nodes()) == {alice}
     assert set(path.relationships()) == set()
     assert path.start_node() == alice
     assert path.end_node() == alice
     assert len(path) == 0
     assert list(walk(path)) == sequence
Пример #5
0
 def test_node(self):
     assert alice.start_node() == alice
     assert alice.end_node() == alice
     assert alice.__bool__()
     assert alice.__nonzero__()
     assert len(alice) == 2
     assert list(walk(alice)) == [alice]
     assert set(alice.labels()) == {"Person", "Employee"}
     assert dict(alice) == {"name": "Alice", "age": 33}
     assert dict(alice)["name"] == "Alice"
     assert alice["name"] == "Alice"
     assert order(alice) == 1
     assert size(alice) == 0
     assert set(alice.nodes()) == {alice}
     assert set(alice.relationships()) == set()
Пример #6
0
 def test_construction_of_path_with_loop(self):
     sequence = [
         carol, carol_married_to_dave, dave, dave_works_for_dave, dave
     ]
     path = Path(*sequence)
     assert order(path) == 2
     assert size(path) == 2
     assert len(path) == 2
     assert set(path.nodes()) == {carol, dave}
     assert set(path.relationships()) == {
         carol_married_to_dave, dave_works_for_dave
     }
     assert path.start_node() == carol
     assert path.end_node() == dave
     assert len(path) == 2
     assert list(walk(path)) == sequence
Пример #7
0
 def test_construction_of_path_with_revisits(self):
     sequence = [
         alice, alice_knows_bob, bob, carol_dislikes_bob, carol,
         alice_likes_carol, alice, alice_knows_bob, bob
     ]
     path = Path(*sequence)
     assert order(path) == 3
     assert size(path) == 3
     assert len(path) == 4
     assert set(path.nodes()) == {alice, bob, carol}
     assert set(path.relationships()) == {
         alice_knows_bob, alice_likes_carol, carol_dislikes_bob
     }
     assert path.start_node() == alice
     assert path.end_node() == bob
     assert len(path) == 4
     assert list(walk(path)) == sequence
Пример #8
0
 def test_cannot_walk_non_walkable_as_second_argument(self):
     with self.assertRaises(TypeError):
         list(walk(alice, object()))
Пример #9
0
 def test_cannot_walk_non_walkable_as_first_argument(self):
     with self.assertRaises(TypeError):
         list(walk(object()))
Пример #10
0
 def test_can_walk_node_relationship_and_node_in_reverse(self):
     result = list(walk(bob, alice_knows_bob, alice))
     assert result == [bob, alice_knows_bob, alice]
Пример #11
0
 def test_can_walk_node_relationship_and_node(self):
     result = list(walk(alice, alice_knows_bob, bob))
     assert result == [alice, alice_knows_bob, bob]
Пример #12
0
 def test_can_walk_node_twice(self):
     result = list(walk(alice, alice))
     assert result == [alice]
Пример #13
0
 def test_can_walk_nothing(self):
     result = list(walk())
     assert result == []