Closed gidili closed 6 years ago
The logic of finding appropriate xml tags related to capability implementation should be separated form manipulating values associated to those tags.
We need a way to tell that a given model instance can implement the capabilities guaranteed by the model class.
For example as a usecase in scidash we need to be able to populate model classes as the creates a model instance:
Partly implemented in 7952585e8459fc10d36918663a443fdad2ceb91b
See this notebook for an example of the functionality.
The way this works is that a function like this does this checking for a particular implementation of the capability in the NeuroML file, and then this specifies that this is the function to be checked to see if a particular claimed capability is implemented in a given model instance. SciUnit has been revised here to look for this dictionary and evaluate its entries before assuming that a model has a capability that it claims to have.
Request: .check will default to False (instead of True) so that we know that a particular model instance does not implement a given capability.
Added in scidash/sciunit@cca66d0 an keyword argument require_extras
to all check
and check_capabilities
methods to require that instance level methods to check for capability implementation exist (and return True) for a capability to be considered implemented.
Neuronunit should expose wether a given model instance can implement the capabilities of that model class