Source code for bmtk.tests.simulator.pointnet.conftest

try:
    from bmtk.simulator import pointnet
    from bmtk.simulator.pointnet.nest_utils import NEST_SYNAPSE_MODEL_PROP
    import nest

    nest_installed = True
    nest.set_verbosity('M_QUIET')
    nest.ResetKernel()
    nest.SetKernelStatus({"resolution": 0.001, "print_time": True})


except ImportError:
    nest_installed = False


[docs]class MockNodePop(object): def __init__(self, name, nnodes=100, batched=True, virtual=False): self.name = name self.mixed_nodes = False self.internal_nodes_only = not virtual self.virtual_nodes_only = virtual self.n_nodes = nnodes self.batched = batched
[docs] def initialize(self, net): pass
[docs] def get_nodes(self): if self.batched: return [self.MockNode(n_nodes=self.n_nodes)] else: return [self.MockNode(n_nodes=1) for _ in range(self.n_nodes)]
[docs] def filter(self, filter): # return [self.MockNode(nnodes=self.nnodes) for _ in range(self.nnodes)] return [self.MockNode(n_nodes=1, node_id=i) for i in range(self.n_nodes)]
[docs] class MockNode(object): def __init__(self, n_nodes=1, node_id=0): self.n_nodes = n_nodes self.node_ids = list(range(n_nodes)) self.node_id = node_id self.nest_ids = None
[docs] def build(self): self.nest_ids = nest.Create('iaf_psc_delta', self.n_nodes, {})
[docs]class MockEdges(object): def __init__(self, name, source_nodes, target_nodes, delay=2.0): self.name = name self.source_nodes = source_nodes self.target_nodes = target_nodes self._connection_type = 0 self.virtual_connections = False self.delay = delay
[docs] def initialize(self, net): pass
[docs] def set_connection_type(self, src_pop, trg_pop): pass
[docs] def get_edges(self): return [self.MockEdge(delay=self.delay)]
[docs] class MockEdge(object): def __init__(self, delay): self.source_node_ids = range(100) self.target_node_ids = range(100) self.nest_params = {NEST_SYNAPSE_MODEL_PROP: 'static_synapse', 'delay': [delay]*100, 'weight': [2.0]*100}
[docs]class MockNodeSet(object): def __init__(self, population_names): self._population_names = population_names
[docs] def population_names(self): return self._population_names
[docs]class MockSpikes(object): def __init__(self, spike_times): self.spikes = spike_times
[docs] def get_times(self, node_id): return self.spikes