def test_get_sequence_param(self): p = sim.Population(3, sim.SpikeSourceArray(spike_times=[Sequence([1, 2, 3, 4]), Sequence([2, 3, 4, 5]), Sequence([3, 4, 5, 6])])) spike_times = p.get('spike_times') self.assertEqual(spike_times.size, 3) assert_array_equal(spike_times[1], Sequence([2, 3, 4, 5]))
def test_SpikeSourceArray(self): spike_times = [50.] p = sim.Population(3, sim.SpikeSourceArray(spike_times=spike_times)) p2 = sim.Population(3, sim.Hardware_IF_cond_exp()) syn = sim.StaticSynapse(weight=0.012) con = sim.Projection(p, p2, connector=sim.OneToOneConnector(), synapse_type=syn, receptor_type='excitatory') spike_times_g = p.get('spike_times') p2.record('v') sim.run(100.0) weights = nan_to_num(con.get('weight', format="array")) print weights data = p2.get_data().segments[0] vm = data.filter(name="v")[0] print vm Figure( Panel(weights, data_labels=["ext->cell"], line_properties=[{ 'xticks': True, 'yticks': True, 'cmap': 'Greys' }]), Panel(vm, ylabel="Membrane potential (mV)", data_labels=["excitatory", "excitatory"], line_properties=[{ 'xticks': True, 'yticks': True }]), ).save("result")
def test_set_sequence(self): p = sim.Population(3, sim.SpikeSourceArray()) p.set(spike_times=[Sequence([1, 2, 3, 4]), Sequence([2, 3, 4, 5]), Sequence([3, 4, 5, 6])]) spike_times = p.get('spike_times', gather=True) self.assertEqual(spike_times.size, 3) assert_array_equal(spike_times[1], Sequence([2, 3, 4, 5]))
def test___add__three(self): # adding three populations should give an Assembly p1 = sim.Population(6, IF_cond_exp()) p2 = sim.Population(17, EIF_cond_exp_isfa_ista()) p3 = sim.Population(9, sim.SpikeSourceArray()) assembly = p1 + p2 + p3 self.assertIsInstance(assembly, sim.Assembly) self.assertEqual(assembly.populations, [p1, p2, p3])
def test_inject_into_invalid_celltype(self): pv = sim.Population(3, sim.SpikeSourceArray())[:2] self.assertRaises(TypeError, pv.inject, Mock())