Пример #1
0
 def test_id_to_index_with_invalid_id(self, sim=sim):
     p = sim.Population(11, sim.IF_curr_alpha())
     pv = p[2, 5, 7, 8]
     self.assertRaises(IndexError, pv.id_to_index, p[0])
     self.assertRaises(IndexError, pv.id_to_index, p[9])
Пример #2
0
 def test_describe(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2)
     self.assertIsInstance(a.describe(), basestring)
     self.assertIsInstance(a.describe(template=None), dict)
Пример #3
0
 def test_ids_should_not_be_counted_twice(self, sim=sim):
     p = sim.Population(11, sim.IF_cond_exp())
     pv1 = p[0:5]
     a1 = sim.Assembly(p, pv1)
     self.assertEqual(a1.size, p.size)
Пример #4
0
 def test_all_cells(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2, label="test")
     assert_array_equal(a.all_cells, numpy.append(p1.all_cells,
                                                  p2.all_cells))
Пример #5
0
 def test_add_inplace_population(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1)
     a += p2
     self.assertEqual(a.populations, [p1, p2])
Пример #6
0
 def test_create_with_one_population(self, sim=sim):
     p = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p)
     self.assertEqual(a.populations, [p])
     self.assertIsInstance(a.label, basestring)
Пример #7
0
 def test_size_property(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2, label="test")
     self.assertEqual(a.size, p1.size + p2.size)
Пример #8
0
 def test_set_array(self, sim=sim):
     p = sim.Population(5, sim.IF_cond_exp, {'v_thresh': -54.3})
     pv = p[2:]
     pv.set(v_thresh=-50.0 + numpy.arange(3))
     assert_array_equal(p.get('v_thresh', gather=True),
                        numpy.array([-54.3, -54.3, -50.0, -49.0, -48.0]))
Пример #9
0
 def test_record_v(self, sim=sim):
     pv = sim.Population(2, sim.EIF_cond_exp_isfa_ista())[0:1]
     pv.record = Mock()
     pv.record_v("arg1")
     pv.record.assert_called_with('v', "arg1")
Пример #10
0
 def test_iter(self, sim=sim):
     p = sim.Population(33, sim.IF_curr_exp())
     pv = p[1, 5, 6, 8, 11, 12]
     itr = pv.__iter__()
     assert hasattr(itr, "next") or hasattr(itr, "__next__")
     self.assertEqual(len(list(itr)), 6)
Пример #11
0
 def test_set_invalid_name(self, sim=sim):
     p = sim.Population(9, sim.HH_cond_exp())
     pv = p[3:5]
     self.assertRaises(errors.NonExistentParameterError, pv.set, foo=13.2)
Пример #12
0
 def test__len__(self, sim=sim):
     # len(p) should give the global size (all MPI nodes)
     p = sim.Population(77, sim.IF_cond_exp())
     pv = p[1, 5, 6, 8, 11, 12, 15, 16, 19, 20]
     self.assertEqual(len(pv), pv.size, 10)
Пример #13
0
 def test__getitem__invalid(self, sim=sim):
     p = sim.Population(23, sim.IF_curr_alpha())
     pv = p[1, 5, 6, 8, 11, 12, 15, 16, 19, 20]
     self.assertRaises(TypeError, pv.__getitem__, "foo")
Пример #14
0
 def test_get_positions(self, sim=sim):
     p = sim.Population(11, sim.IF_cond_exp())
     pos = numpy.arange(33).reshape(3, 11)
     p.positions = pos
     pv = p[2, 5, 7, 8]
     assert_array_equal(pv.positions, pos[:, [2, 5, 7, 8]])
Пример #15
0
 def test_not_conductance_based(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p3 = sim.Population(3, sim.IF_curr_exp())
     a2 = sim.Assembly(p1, p3)
     self.assertFalse(a2.conductance_based)
Пример #16
0
 def test_record_gsyn(self, sim=sim):
     pv = sim.Population(2, sim.EIF_cond_exp_isfa_ista())[1:]
     pv.record = Mock()
     pv.record_gsyn("arg1")
     pv.record.assert_called_with(['gsyn_exc', 'gsyn_inh'], "arg1")
Пример #17
0
 def test_id_to_index_with_nonexistent_id(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(6, sim.IF_cond_alpha())
     p3 = sim.Population(3, sim.IF_curr_exp())
     a = sim.Assembly(p3, p1, p2)
     self.assertRaises(IndexError, a.id_to_index, p3.last_id + 1)
Пример #18
0
 def test_record_invalid_variable(self, sim=sim):
     pv = sim.Population(14, sim.IF_curr_alpha())[::3]
     self.assertRaises(
         errors.RecordingError, pv.record,
         ('v', 'gsyn_exc'))  # can't record gsyn_exc from this celltype
Пример #19
0
 def test_create_with_two_populations(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2, label="test")
     self.assertEqual(a.populations, [p1, p2])
     self.assertEqual(a.label, "test")
Пример #20
0
 def test_mean_spike_count(self, sim=sim):
     p = sim.Population(14, sim.EIF_cond_exp_isfa_ista())
     pv = p[2::3]
     pv.record('spikes')
     sim.run(100.0)
     self.assertEqual(p.mean_spike_count(), 2.0)
Пример #21
0
 def test__len__(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2, label="test")
     self.assertEqual(len(a), len(p1) + len(p2))
Пример #22
0
 def test_inject_into_invalid_celltype(self, sim=sim):
     pv = sim.Population(3, sim.SpikeSourceArray())[:2]
     self.assertRaises(TypeError, pv.inject, Mock())
Пример #23
0
 def test_iter(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2, label="test")
     assembly_ids = [id for id in a]
Пример #24
0
 def test_describe(self, sim=sim):
     pv = sim.Population(11, sim.IF_cond_exp())[::4]
     self.assertIsInstance(pv.describe(), basestring)
     self.assertIsInstance(pv.describe(template=None), dict)
Пример #25
0
 def test_add_invalid_object(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2)
     self.assertRaises(TypeError, a.__add__, 42)
     self.assertRaises(TypeError, a.__iadd__, 42)
Пример #26
0
 def test__non_homogeneous_synapses(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p3 = sim.Population(3, sim.IF_curr_exp())
     a2 = sim.Assembly(p1, p3)
     self.assertFalse(a2._homogeneous_synapses)
Пример #27
0
 def test_repr(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(11, sim.IF_cond_exp())
     p3 = sim.Population(11, sim.IF_cond_exp())
     a = sim.Assembly(p1, p2, p3)
     self.assertIsInstance(repr(a), str)
Пример #28
0
 def test_conductance_based(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(6, sim.IF_cond_alpha())
     a1 = sim.Assembly(p1, p2)
     self.assertTrue(a1.conductance_based)
Пример #29
0
 def test__homogeneous_synapses(self, sim=sim):
     p1 = sim.Population(11, sim.IF_cond_exp())
     p2 = sim.Population(6, sim.IF_cond_alpha())
     a1 = sim.Assembly(p1, p2)
     self.assertTrue(a1._homogeneous_synapses)
Пример #30
0
 def test_id_to_index_with_array(self, sim=sim):
     p = sim.Population(121, sim.IF_curr_alpha())
     pv = p[2, 5, 7, 8, 19, 37, 49, 82, 83, 99]
     assert_array_equal(pv.id_to_index(pv.all_cells[3:9:2]),
                        numpy.arange(3, 9, 2))