mirror of
https://github.com/p2p-ld/nwb-linkml.git
synced 2024-11-14 10:44:28 +00:00
35 lines
No EOL
1.2 KiB
Python
35 lines
No EOL
1.2 KiB
Python
import pytest
|
|
from ..fixtures import nwb_core_fixture
|
|
from nwb_schema_language import Dataset, Group
|
|
from nwb_linkml.adapters import SchemaAdapter
|
|
|
|
@pytest.mark.parametrize(
|
|
['class_name','schema_file','namespace_name'],
|
|
[
|
|
('DynamicTable', 'table.yaml', 'hdmf-common'),
|
|
('Container', 'base.yaml', 'hdmf-common'),
|
|
('TimeSeries', 'nwb.base.yaml', 'core'),
|
|
('ImageSeries', 'nwb.image.yaml', 'core')
|
|
]
|
|
)
|
|
def test_find_type_source(nwb_core_fixture, class_name, schema_file, namespace_name):
|
|
defining_sch = nwb_core_fixture.find_type_source(class_name)
|
|
assert defining_sch.path.name == schema_file
|
|
assert namespace_name == defining_sch.namespace
|
|
|
|
|
|
def test_populate_imports(nwb_core_fixture):
|
|
nwb_core_fixture.populate_imports()
|
|
schema: SchemaAdapter
|
|
assert len(nwb_core_fixture.schemas) > 0
|
|
for schema in nwb_core_fixture.schemas:
|
|
need_imports = [nwb_core_fixture.find_type_source(cls.neurodata_type_def).namespace for cls in schema.created_classes if cls.neurodata_type_inc is not None]
|
|
need_imports = [i for i in need_imports if i != schema.namespace]
|
|
for i in need_imports:
|
|
assert i in schema.imports
|
|
|
|
|
|
|
|
|
|
def test_build(nwb_core_fixture):
|
|
pass |