mirror of
https://github.com/p2p-ld/nwb-linkml.git
synced 2024-11-12 17:54:29 +00:00
fix tests, cant assign to tuple
This commit is contained in:
parent
6f32a5bfd3
commit
a7b0f8880e
9 changed files with 77 additions and 11 deletions
|
@ -76,9 +76,15 @@ addopts = [
|
|||
"--cov=nwb_linkml",
|
||||
"--cov-append",
|
||||
"--cov-config=.coveragerc",
|
||||
"--doctest-modules"
|
||||
"--doctest-modules",
|
||||
"--ignore=tests/__tmp__"
|
||||
]
|
||||
testpaths = [
|
||||
"tests",
|
||||
'nwb_linkml/tests'
|
||||
]
|
||||
doctest_optionflags = "NORMALIZE_WHITESPACE"
|
||||
filterwarnings = [
|
||||
"ignore:Deprecated NumPy 1.24:DeprecationWarning",
|
||||
"ignore:parse_obj:pydantic.PydanticDeprecatedSince20"
|
||||
]
|
|
@ -2,5 +2,6 @@ from nwb_linkml.adapters.adapter import Adapter, BuildResult
|
|||
from nwb_linkml.adapters.namespaces import NamespacesAdapter
|
||||
from nwb_linkml.adapters.classes import ClassAdapter
|
||||
from nwb_linkml.adapters.group import GroupAdapter
|
||||
from nwb_linkml.adapters.dataset import DatasetAdapter
|
||||
from nwb_linkml.adapters.schema import SchemaAdapter
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ class BuildResult:
|
|||
|
||||
return out_str
|
||||
|
||||
T = TypeVar('T', Dataset, Attribute, Schema, Group)
|
||||
T = TypeVar('T', Dataset, Attribute, Schema, Group, BaseModel)
|
||||
Ts = TypeVarTuple('Ts')
|
||||
|
||||
class Adapter(BaseModel):
|
||||
|
|
|
@ -21,7 +21,7 @@ from nwb_schema_language import Namespaces
|
|||
from nwb_linkml.adapters.adapter import Adapter, BuildResult
|
||||
from nwb_linkml.adapters.schema import SchemaAdapter
|
||||
from nwb_linkml.lang_elements import NwbLangSchema
|
||||
from nwb_linkml.providers.git import DEFAULT_REPOS
|
||||
|
||||
|
||||
from nwb_linkml.ui import AdapterProgress
|
||||
|
||||
|
@ -47,6 +47,7 @@ class NamespacesAdapter(Adapter):
|
|||
with hdmf-common)
|
||||
"""
|
||||
from nwb_linkml.io import schema as schema_io
|
||||
from nwb_linkml.providers.git import DEFAULT_REPOS
|
||||
ns_adapter = schema_io.load_namespace_adapter(path)
|
||||
|
||||
# try and find imported schema
|
||||
|
|
|
@ -209,8 +209,7 @@ class GitRepo:
|
|||
try:
|
||||
# check our commit, this also checks if we're a git repo
|
||||
if self.active_commit != self.commit and self.commit is not None:
|
||||
warnings.warn('At wrong commit')
|
||||
return False
|
||||
self.commit = self.commit
|
||||
|
||||
except GitError:
|
||||
return False
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
import pytest
|
||||
import os
|
||||
from typing import NamedTuple, Optional
|
||||
from typing import NamedTuple, Optional, List, Dict
|
||||
from dataclasses import dataclass, field
|
||||
|
||||
from linkml_runtime.dumpers import yaml_dumper
|
||||
|
||||
from nwb_linkml.io import schema as io
|
||||
from nwb_linkml.adapters.namespaces import NamespacesAdapter
|
||||
from nwb_schema_language import Schema, Group, Dataset, Attribute
|
||||
from linkml_runtime.linkml_model import SchemaDefinition, ClassDefinition, SlotDefinition, Prefix, TypeDefinition
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
@ -65,7 +67,9 @@ def data_dir() -> Path:
|
|||
path = Path(__file__).parent.resolve() / 'data'
|
||||
return path
|
||||
|
||||
class TestSchemas(NamedTuple):
|
||||
@dataclass
|
||||
class TestSchemas():
|
||||
__test__ = False
|
||||
core: SchemaDefinition
|
||||
imported: SchemaDefinition
|
||||
namespace: SchemaDefinition
|
||||
|
@ -243,12 +247,51 @@ def linkml_schema(tmp_output_dir_mod, linkml_schema_bare) -> TestSchemas:
|
|||
imported_path = test_schema_path / 'imported.yaml'
|
||||
namespace_path = test_schema_path / 'namespace.yaml'
|
||||
|
||||
schema.core_path = core_path,
|
||||
schema.imported_path = imported_path,
|
||||
schema.namespace_path = namespace_path,
|
||||
schema.core_path = core_path
|
||||
schema.imported_path = imported_path
|
||||
schema.namespace_path = namespace_path
|
||||
|
||||
yaml_dumper.dump(schema.core, schema.core_path)
|
||||
yaml_dumper.dump(schema.imported, schema.imported_path)
|
||||
yaml_dumper.dump(schema.namespace, schema.namespace_path)
|
||||
return schema
|
||||
|
||||
|
||||
@dataclass
|
||||
class NWBSchemaTest():
|
||||
datasets: Dict[str, Dataset] = field(default_factory=dict)
|
||||
groups: Dict[str, Group] = field(default_factory=dict)
|
||||
|
||||
@pytest.fixture()
|
||||
def nwb_schema() -> NWBSchemaTest:
|
||||
"""Minimal NWB schema for testing"""
|
||||
image = Dataset(
|
||||
neurodata_type_def="Image",
|
||||
dtype="numeric",
|
||||
neurodata_type_inc="NWBData",
|
||||
dims=[['x', 'y'], ['x', 'y', 'r, g, b'], ['x', 'y', 'r, g, b, a']],
|
||||
shape=[[None, None], [None, None, 3], [None, None, 4]],
|
||||
doc="An image!",
|
||||
attributes = [
|
||||
Attribute(dtype="float32", name="resolution", doc="resolution!"),
|
||||
Attribute(dtype="text", name="description", doc='Description!')
|
||||
]
|
||||
)
|
||||
images = Group(
|
||||
neurodata_type_def='Images',
|
||||
neurodata_type_inc='NWBDataInterface',
|
||||
default_name="Images",
|
||||
doc='Images!',
|
||||
attributes=[
|
||||
Attribute(dtype="text", name='description', doc="description!")
|
||||
],
|
||||
datasets=[
|
||||
Dataset(neurodata_type_inc='Image', quantity="+", doc="images!"),
|
||||
Dataset(neurodata_type_inc='ImageReferences',
|
||||
name='order_of_images',
|
||||
doc="Image references!",
|
||||
quantity='?'
|
||||
)
|
||||
]
|
||||
)
|
||||
return NWBSchemaTest(datasets=[image], groups=[images])
|
||||
|
|
9
nwb_linkml/tests/test_adapters/test_adapter_classes.py
Normal file
9
nwb_linkml/tests/test_adapters/test_adapter_classes.py
Normal file
|
@ -0,0 +1,9 @@
|
|||
import pytest
|
||||
|
||||
from ..fixtures import linkml_schema_bare, linkml_schema, nwb_schema
|
||||
|
||||
from nwb_linkml.adapters import DatasetAdapter, ClassAdapter
|
||||
|
||||
def test_build_base(nwb_schema):
|
||||
|
||||
pass
|
|
@ -1,4 +1,10 @@
|
|||
import pdb
|
||||
|
||||
import pytest
|
||||
|
||||
def test_nothing():
|
||||
from ..fixtures import nwb_core_fixture
|
||||
|
||||
from nwb_linkml.adapters import DatasetAdapter
|
||||
|
||||
def test_nothing(nwb_core_fixture):
|
||||
pass
|
|
@ -27,6 +27,7 @@ class TestModules(TypedDict):
|
|||
namespace: ModuleType
|
||||
split: bool
|
||||
|
||||
TestModules.__test__ = False
|
||||
|
||||
def generate_and_import(linkml_schema:TestSchemas, split:bool, generator_kwargs:Optional[dict]=None) -> TestModules:
|
||||
if generator_kwargs is None:
|
||||
|
|
Loading…
Reference in a new issue