Skip to content

Commit 72fc46a

Browse files
committed
test_deep_narrow_paths_query now checks formed query string against doc string example
1 parent a20eca6 commit 72fc46a

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

tests/test_gp_learner_offline.py

+27-25
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from collections import Counter
55
import logging
66
import random
7+
import textwrap
78

89
import rdflib
910
from rdflib import URIRef
@@ -13,7 +14,6 @@
1314
from gp_learner import mutate_increase_dist
1415
from gp_learner import mutate_merge_var
1516
from gp_learner import mutate_simplify_pattern
16-
from gp_learner import mutate_deep_narrow_path
1717
from graph_pattern import GraphPattern
1818
from graph_pattern import SOURCE_VAR
1919
from graph_pattern import TARGET_VAR
@@ -109,33 +109,36 @@ def test_mutate_merge_var():
109109
assert False, "merge never reached one of the cases: %s" % cases
110110

111111

112-
def test_mutate_deep_narrow_path():
113-
p = Variable('p')
114-
gp = GraphPattern([
115-
(SOURCE_VAR, p, TARGET_VAR)
116-
])
117-
child = mutate_deep_narrow_path(gp)
118-
assert gp == child or len(child) > len(gp)
119-
print(gp)
120-
print(child)
121-
112+
def test_deep_narrow_path_query():
113+
node_var = Variable('node_var')
114+
edge_var = Variable('edge_var')
115+
gtps = [
116+
(dbp['Barrel'], dbp['Wine']),
117+
(dbp['Barrister'], dbp['Law']),
118+
(dbp['Beak'], dbp['Bird']),
119+
(dbp['Blanket'], dbp['Bed']),
120+
]
122121

123-
def test_to_find_edge_var_for_narrow_path_query():
124-
node_var = Variable('node_variable')
125-
edge_var = Variable('edge_variable')
126122
gp = GraphPattern([
127123
(node_var, edge_var, SOURCE_VAR),
128124
(SOURCE_VAR, wikilink, TARGET_VAR)
129125
])
130-
filter_node_count = 10
131-
filter_edge_count = 1
132-
limit_res = 32
133-
vars_ = {SOURCE_VAR,TARGET_VAR}
134-
res = GraphPattern.to_find_edge_var_for_narrow_path_query(gp, edge_var, node_var,
135-
vars_, filter_node_count,
136-
filter_edge_count, limit_res)
137-
print(gp)
138-
print(res)
126+
127+
vars_ = (SOURCE_VAR, TARGET_VAR)
128+
res = gp.to_deep_narrow_path_query(
129+
edge_var, node_var, vars_, {vars_: gtps},
130+
limit=32,
131+
max_node_count=10,
132+
min_edge_count=2,
133+
).strip()
134+
doc = gp.to_deep_narrow_path_query.__doc__
135+
doc_str_example_query = "\n".join([
136+
l for l in doc.splitlines()
137+
if l.startswith(' ')
138+
])
139+
doc_str_example_query = textwrap.dedent(doc_str_example_query)
140+
assert res == doc_str_example_query, \
141+
"res:\n%s\n\ndoes not look like:\n\n%s" % (res, doc_str_example_query)
139142

140143

141144
def test_simplify_pattern():
@@ -303,5 +306,4 @@ def test_gtp_scores():
303306

304307

305308
if __name__ == '__main__':
306-
# test_mutate_deep_narrow_path()
307-
test_to_find_edge_var_for_narrow_path_query()
309+
test_deep_narrow_path_query()

0 commit comments

Comments
 (0)