"""Shared fixtures for neurocore tests.""" import pytest import sys import os sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) import neurocore as nc @pytest.fixture def small_network(): """A small 2-population network for basic tests.""" net = nc.Network() exc = net.population(8, params={"threshold": 1000, "leak": 3}, label="exc") inh = net.population(4, params={"threshold": 800, "leak": 5}, label="inh") net.connect(exc, inh, topology="all_to_all", weight=200) net.connect(inh, exc, topology="all_to_all", weight=-300) return net, exc, inh @pytest.fixture def chain_network(): """A simple 4-neuron chain: N0 -> N1 -> N2 -> N3.""" net = nc.Network() pop = net.population(4, label="chain") net.connect(pop, pop, topology="one_to_one", weight=1200) return net, pop @pytest.fixture def chain_network_manual(): """Manual 4-neuron chain using individual 1-neuron populations.""" net = nc.Network() n0 = net.population(1, label="n0") n1 = net.population(1, label="n1") n2 = net.population(1, label="n2") n3 = net.population(1, label="n3") net.connect(n0, n1, topology="all_to_all", weight=1200) net.connect(n1, n2, topology="all_to_all", weight=1200) net.connect(n2, n3, topology="all_to_all", weight=1200) return net, n0, n1, n2, n3