Skip to content

Commit 9fb8a49

Browse files
Make driver & tests usable from python & bazel
1 parent 9b8dfe4 commit 9fb8a49

File tree

3 files changed

+11
-13
lines changed

3 files changed

+11
-13
lines changed

sudoku/BUILD

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ py_library(
2929
srcs = ["solver.py"],
3030
deps = [
3131
sudoku_requirement("typedb-client")
32+
],
33+
data = [
34+
":sudoku6x6_schema.tql",
35+
":sudoku6x6_data.tql",
3236
]
3337
)
3438

@@ -40,9 +44,6 @@ py_binary(
4044
sudoku_requirement("typedb-client")
4145
],
4246
data = [
43-
"sudoku6x6_schema.tql",
44-
"sudoku6x6_data.tql",
45-
4647
"sample/sudoku1.txt",
4748
"sample/sudoku2.txt",
4849
"sample/sudoku3.txt",
@@ -58,9 +59,6 @@ py_test(
5859
sudoku_requirement("typedb-client")
5960
],
6061
data = [
61-
"sudoku6x6_schema.tql",
62-
"sudoku6x6_data.tql",
63-
6462
"sample/sudoku1.txt",
6563
"sample/sudoku2.txt",
6664
"sample/sudoku3.txt",

sudoku/solver.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
# under the License.
2020
#
2121

22-
22+
import os.path
2323
from typing import List
2424

2525
from typedb.client import TypeDB, TypeDBOptions, SessionType, TransactionType
2626

2727
class Solver:
28-
SCHEMA_FILE = "sudoku/sudoku6x6_schema.tql"
29-
DATA_FILE = "sudoku/sudoku6x6_data.tql"
28+
SCHEMA_FILE = os.path.join(os.path.dirname(__file__), "sudoku6x6_schema.tql")
29+
DATA_FILE = os.path.join(os.path.dirname(__file__), "sudoku6x6_data.tql")
3030
QUERY_TEMPLATE = """
3131
match
3232
$connector-hack = -1 isa connector-hack;

sudoku/test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# under the License.
2020
#
2121
import timeit
22-
from os.path import join as path_join
22+
import os.path
2323
import unittest
2424

2525
from typedb.client import TypeDB
@@ -29,7 +29,7 @@
2929

3030
class Test(unittest.TestCase):
3131
DATABASE_NAME = "test_sudoku6x6"
32-
SAMPLE_PATH = "sudoku/sample"
32+
SAMPLE_PATH = os.path.join(os.path.dirname(__file__), "sample")
3333
SAMPLES = [("sudoku1.txt", "solution1.txt"),
3434
("sudoku2.txt", "solution2.txt"),
3535
("sudoku3.txt", "solution3.txt"),
@@ -43,11 +43,11 @@ def setUp(self):
4343

4444
def test_samples(self):
4545
for (sample_file, solution_file) in Test.SAMPLES:
46-
sudoku = self.solver.read_sudoku(path_join(Test.SAMPLE_PATH, sample_file))
46+
sudoku = self.solver.read_sudoku(os.path.join(Test.SAMPLE_PATH, sample_file))
4747
time_start = timeit.default_timer()
4848
solver_solution = self.solver.solve(sudoku)
4949
print("Solved %s in %d ms"% (sample_file, int(1 + 1000 * (timeit.default_timer() - time_start))))
50-
expected_solution = self.solver.read_sudoku(path_join(Test.SAMPLE_PATH, solution_file))
50+
expected_solution = self.solver.read_sudoku(os.path.join(Test.SAMPLE_PATH, solution_file))
5151
self.assertEqual(expected_solution, solver_solution)
5252

5353
def tearDown(self):

0 commit comments

Comments
 (0)