Skip to content

Commit 5cf703f

Browse files
authored
Merge pull request #1128 from ethho/dev-tests-plat-155-external-class
PLAT-155: Migrate test_external_class
2 parents a6b4777 + 7c3c2b7 commit 5cf703f

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

tests/test_external_class.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
from numpy.testing import assert_almost_equal
2+
import datajoint as dj
3+
from . import schema_external
4+
5+
6+
def test_heading(schema_ext, mock_stores):
7+
heading = schema_external.Simple().heading
8+
assert "item" in heading
9+
assert heading["item"].is_external
10+
11+
12+
def test_insert_and_fetch(schema_ext, mock_stores, mock_cache):
13+
original_list = [1, 3, 8]
14+
schema_external.Simple().insert1(dict(simple=1, item=original_list))
15+
# test fetch
16+
q = (schema_external.Simple() & {"simple": 1}).fetch("item")[0]
17+
assert list(q) == original_list
18+
# test fetch1 as a tuple
19+
q = (schema_external.Simple() & {"simple": 1}).fetch1("item")
20+
assert list(q) == original_list
21+
# test fetch1 as a dict
22+
q = (schema_external.Simple() & {"simple": 1}).fetch1()
23+
assert list(q["item"]) == original_list
24+
# test without cache
25+
previous_cache = dj.config["cache"]
26+
dj.config["cache"] = None
27+
q = (schema_external.Simple() & {"simple": 1}).fetch1()
28+
assert list(q["item"]) == original_list
29+
# test with cache
30+
dj.config["cache"] = previous_cache
31+
q = (schema_external.Simple() & {"simple": 1}).fetch1()
32+
assert list(q["item"]) == original_list
33+
34+
35+
def test_populate(schema_ext, mock_stores):
36+
image = schema_external.Image()
37+
image.populate()
38+
remaining, total = image.progress()
39+
assert (
40+
total == len(schema_external.Dimension() * schema_external.Seed())
41+
and remaining == 0
42+
)
43+
for img, neg, dimensions in zip(
44+
*(image * schema_external.Dimension()).fetch("img", "neg", "dimensions")
45+
):
46+
assert list(img.shape) == list(dimensions)
47+
assert_almost_equal(img, -neg)
48+
image.delete()
49+
for external_table in image.external.values():
50+
external_table.delete(display_progress=False, delete_external_files=True)

0 commit comments

Comments
 (0)