def test_build_topology(self): mat_in, mat_out = test_data() net = NetworkBuilder(mat_in, mat_out) topo = net.build_topology(topology_params={"params": {"cm": 0.2}}) self.assertEqual( set(topo["connections"]), set([((0, 0), (1, 1), 0.03, 0.0), ((0, 0), (1, 4), 0.03, 0.0), ((0, 1), (1, 1), 0.03, 0.0), ((0, 1), (1, 4), 0.03, 0.0), ((0, 2), (1, 0), 0.03, 0.0), ((0, 2), (1, 1), 0.03, 0.0), ((0, 2), (1, 2), 0.03, 0.0), ((0, 2), (1, 3), 0.03, 0.0), ((0, 3), (1, 0), 0.03, 0.0), ((0, 3), (1, 1), 0.03, 0.0), ((0, 4), (1, 2), 0.03, 0.0), ((0, 4), (1, 3), 0.03, 0.0)])) self.assertEqual(topo["populations"], [{ 'count': 5, 'params': [{}] * 5, 'type': 'SpikeSourceArray', 'record': [] }, { 'count': 5, 'params': [{ 'tau_refrac': 0.1, 'tau_m': 20.0, 'e_rev_E': 0.0, 'i_offset': 0.0, 'cm': 0.2, 'e_rev_I': -70.0, 'v_thresh': -50.0, 'tau_syn_E': 5.0, 'v_rest': -65.0, 'tau_syn_I': 5.0, 'v_reset': -65.0 }] * 5, 'record': ['spikes'], 'type': 'IF_cond_exp' }]) net = NetworkBuilder(mat_in, mat_out) topo = net.build_topology(topology_params={ "multiplicity": 2, "w": 0.1 }) self.assertEqual( set(topo["connections"]), set([((0, 0), (1, 2), 0.1, 0.0), ((0, 0), (1, 3), 0.1, 0.0), ((0, 1), (1, 2), 0.1, 0.0), ((0, 1), (1, 3), 0.1, 0.0), ((0, 0), (1, 8), 0.1, 0.0), ((0, 0), (1, 9), 0.1, 0.0), ((0, 1), (1, 8), 0.1, 0.0), ((0, 1), (1, 9), 0.1, 0.0), ((0, 2), (1, 2), 0.1, 0.0), ((0, 2), (1, 3), 0.1, 0.0), ((0, 3), (1, 2), 0.1, 0.0), ((0, 3), (1, 3), 0.1, 0.0), ((0, 2), (1, 8), 0.1, 0.0), ((0, 2), (1, 9), 0.1, 0.0), ((0, 3), (1, 8), 0.1, 0.0), ((0, 3), (1, 9), 0.1, 0.0), ((0, 4), (1, 0), 0.1, 0.0), ((0, 4), (1, 1), 0.1, 0.0), ((0, 5), (1, 0), 0.1, 0.0), ((0, 5), (1, 1), 0.1, 0.0), ((0, 4), (1, 2), 0.1, 0.0), ((0, 4), (1, 3), 0.1, 0.0), ((0, 5), (1, 2), 0.1, 0.0), ((0, 5), (1, 3), 0.1, 0.0), ((0, 4), (1, 4), 0.1, 0.0), ((0, 4), (1, 5), 0.1, 0.0), ((0, 5), (1, 4), 0.1, 0.0), ((0, 5), (1, 5), 0.1, 0.0), ((0, 4), (1, 6), 0.1, 0.0), ((0, 4), (1, 7), 0.1, 0.0), ((0, 5), (1, 6), 0.1, 0.0), ((0, 5), (1, 7), 0.1, 0.0), ((0, 6), (1, 0), 0.1, 0.0), ((0, 6), (1, 1), 0.1, 0.0), ((0, 7), (1, 0), 0.1, 0.0), ((0, 7), (1, 1), 0.1, 0.0), ((0, 6), (1, 2), 0.1, 0.0), ((0, 6), (1, 3), 0.1, 0.0), ((0, 7), (1, 2), 0.1, 0.0), ((0, 7), (1, 3), 0.1, 0.0), ((0, 8), (1, 4), 0.1, 0.0), ((0, 8), (1, 5), 0.1, 0.0), ((0, 9), (1, 4), 0.1, 0.0), ((0, 9), (1, 5), 0.1, 0.0), ((0, 8), (1, 6), 0.1, 0.0), ((0, 8), (1, 7), 0.1, 0.0), ((0, 9), (1, 6), 0.1, 0.0), ((0, 9), (1, 7), 0.1, 0.0)]))
def test_build_topology(self): mat_in, mat_out = test_data() net = NetworkBuilder(mat_in, mat_out) topo = net.build_topology(topology_params={"params": {"cm": 0.2}}) self.assertEqual(set(topo["connections"]), set([ ((0, 0), (1, 1), 0.03, 0.0), ((0, 0), (1, 4), 0.03, 0.0), ((0, 1), (1, 1), 0.03, 0.0), ((0, 1), (1, 4), 0.03, 0.0), ((0, 2), (1, 0), 0.03, 0.0), ((0, 2), (1, 1), 0.03, 0.0), ((0, 2), (1, 2), 0.03, 0.0), ((0, 2), (1, 3), 0.03, 0.0), ((0, 3), (1, 0), 0.03, 0.0), ((0, 3), (1, 1), 0.03, 0.0), ((0, 4), (1, 2), 0.03, 0.0), ((0, 4), (1, 3), 0.03, 0.0)])) self.assertEqual(topo["populations"], [ {'count': 5, 'params': [{}] * 5, 'type': 'SpikeSourceArray', 'record': [] }, {'count': 5, 'params': [{ 'tau_refrac': 0.1, 'tau_m': 20.0, 'e_rev_E': 0.0, 'i_offset': 0.0, 'cm': 0.2, 'e_rev_I': -70.0, 'v_thresh': -50.0, 'tau_syn_E': 5.0, 'v_rest': -65.0, 'tau_syn_I': 5.0, 'v_reset': -65.0 }] * 5, 'record': ['spikes'], 'type': 'IF_cond_exp' } ]) net = NetworkBuilder(mat_in, mat_out) topo = net.build_topology(topology_params={"multiplicity": 2, "w": 0.1}) self.assertEqual(set(topo["connections"]), set([ ((0, 0), (1, 2), 0.1, 0.0), ((0, 0), (1, 3), 0.1, 0.0), ((0, 1), (1, 2), 0.1, 0.0), ((0, 1), (1, 3), 0.1, 0.0), ((0, 0), (1, 8), 0.1, 0.0), ((0, 0), (1, 9), 0.1, 0.0), ((0, 1), (1, 8), 0.1, 0.0), ((0, 1), (1, 9), 0.1, 0.0), ((0, 2), (1, 2), 0.1, 0.0), ((0, 2), (1, 3), 0.1, 0.0), ((0, 3), (1, 2), 0.1, 0.0), ((0, 3), (1, 3), 0.1, 0.0), ((0, 2), (1, 8), 0.1, 0.0), ((0, 2), (1, 9), 0.1, 0.0), ((0, 3), (1, 8), 0.1, 0.0), ((0, 3), (1, 9), 0.1, 0.0), ((0, 4), (1, 0), 0.1, 0.0), ((0, 4), (1, 1), 0.1, 0.0), ((0, 5), (1, 0), 0.1, 0.0), ((0, 5), (1, 1), 0.1, 0.0), ((0, 4), (1, 2), 0.1, 0.0), ((0, 4), (1, 3), 0.1, 0.0), ((0, 5), (1, 2), 0.1, 0.0), ((0, 5), (1, 3), 0.1, 0.0), ((0, 4), (1, 4), 0.1, 0.0), ((0, 4), (1, 5), 0.1, 0.0), ((0, 5), (1, 4), 0.1, 0.0), ((0, 5), (1, 5), 0.1, 0.0), ((0, 4), (1, 6), 0.1, 0.0), ((0, 4), (1, 7), 0.1, 0.0), ((0, 5), (1, 6), 0.1, 0.0), ((0, 5), (1, 7), 0.1, 0.0), ((0, 6), (1, 0), 0.1, 0.0), ((0, 6), (1, 1), 0.1, 0.0), ((0, 7), (1, 0), 0.1, 0.0), ((0, 7), (1, 1), 0.1, 0.0), ((0, 6), (1, 2), 0.1, 0.0), ((0, 6), (1, 3), 0.1, 0.0), ((0, 7), (1, 2), 0.1, 0.0), ((0, 7), (1, 3), 0.1, 0.0), ((0, 8), (1, 4), 0.1, 0.0), ((0, 8), (1, 5), 0.1, 0.0), ((0, 9), (1, 4), 0.1, 0.0), ((0, 9), (1, 5), 0.1, 0.0), ((0, 8), (1, 6), 0.1, 0.0), ((0, 8), (1, 7), 0.1, 0.0), ((0, 9), (1, 6), 0.1, 0.0), ((0, 9), (1, 7), 0.1, 0.0)]))