nwb-linkml/nwb_linkml/tests/test_adapters/test_adapter_dataset.py

76 lines
1.5 KiB
Python

import pdb
import pytest
from ..fixtures import nwb_core_fixture
from nwb_schema_language import Namespaces, Namespace, Dataset, Group, Schema
from linkml_runtime.dumpers import yaml_dumper
import yaml
from nwb_linkml.adapters import DatasetAdapter
from nwb_linkml.adapters.dataset import (
MapScalar,
MapListlike,
MapArraylike,
MapNVectors,
Map1DVector,
MapScalarAttributes,
MapArrayLikeAttributes,
)
def test_nothing(nwb_core_fixture):
pass
def _compare_dicts(dict1, dict2) -> bool:
"""just in one direction - that all the entries in dict1 are in dict2"""
assert all([dict1[k] == dict2[k] for k in dict1.keys()])
# assert all([dict1[k] == dict2[k] for k in dict2.keys()])
def test_map_scalar():
model = {
"name": "MyScalar",
"doc": "This should be a scalar",
"dtype": "int32",
"quantity": "?",
}
test = {
"name": "MyScalar",
"description": "This should be a scalar",
"multivalued": False,
"range": "int32",
"required": False,
}
dataset = Dataset(**model)
assert MapScalar.check(dataset)
result = MapScalar.apply(dataset)
assert len(result.classes) == 0
_compare_dicts(test, result.slots[0])
def test_map_scalar_attributes():
pass
def test_map_listlike():
pass
def test_map_arraylike():
pass
def test_map_arraylike_attributes():
pass
def test_map_1d_vector():
pass
def test_map_n_vectors():
pass