Exemple #1
0
 def test_get_neuron_count(self):
     self.assertEqual(
         3, get_neuron_count(api.List(population="pop", element=[1, 2, 3])))
     self.assertEqual(1, get_neuron_count(api.Index(population="pop")))
     self.assertEqual(
         4, get_neuron_count(api.Range(population="pop", from_=3, to=7)))
     self.assertEqual(
         2,
         get_neuron_count(api.Range(population="pop", from_=0, to=5,
                                    step=2)))
     self.assertEqual(
         42, get_neuron_count(api.Population(population="pop", count=42)))
     self.assertRaises(Exception, get_neuron_count, 'foo')
Exemple #2
0
 def test_get_collection_source_range(self):
     rng = api.Range()
     rng.population = "Foo"
     rng.from_ = 7
     rng.to = 12
     self.assertEqual(get_collection_source(rng), "range(7, 12)")
     rng.step = 2
     self.assertEqual(get_collection_source(rng), "range(7, 12, 2)")
Exemple #3
0
 def test_get_all_neurons_as_dict_range(self):
     populations = [api.Range(population='foo', from_=0, to=2)]
     self.assertEqual(get_all_neurons_as_dict(populations),
                      {'foo': slice(0, 2)})
     populations = [api.List(population='foo', element=[1, 3])]
     self.assertEqual(get_all_neurons_as_dict(populations), {'foo': [1, 3]})
     populations = [api.Population(population='foo', count=5)]
     self.assertEqual(get_all_neurons_as_dict(populations), {'foo': 'foo'})
     self.assertRaises(Exception, get_all_neurons_as_dict, ['foo'])
    def parsePopulations(self, brain_populations, bibi):
        """
        Parse a population from the received brain_populations object and add it to bibi.
        """

        if isinstance(brain_populations, list):
            for value in brain_populations:
                if 'list' in value:
                    population_node = bibi_api_gen.List()
                    for index in value['list']:
                        population_node.append(index)
                else:
                    population_node = bibi_api_gen.Range()
                    population_node.from_ = value['from']
                    population_node.to = value['to']
                    population_node.step = value.get('step')
                    if population_node.step <= 0:
                        population_node.step = 1
                population_node.population = value['name']
                bibi.brainModel.populations.append(population_node)
        else:
            for key, value in brain_populations.iteritems():
                population_node = None
                if isinstance(value, list):
                    population_node = bibi_api_gen.List()
                    for index in value:
                        population_node.append(index)
                if isinstance(value, dict):
                    population_node = bibi_api_gen.Range()
                    population_node.from_ = value['from']
                    population_node.to = value['to']
                    population_node.step = value.get('step')
                    if population_node.step <= 0:
                        population_node.step = 1
                population_node.population = key
                bibi.brainModel.populations.append(population_node)
Exemple #5
0
 def test_print_neurons_range(self):
     rng = api.Range()
     rng.population = "Foo"
     rng.from_ = 7
     rng.to = 12
     self.assertEqual(print_neurons_index(rng), "slice(7, 12)")
     self.assertEqual(get_neurons_index(rng), "7:12")
     self.assertEqual(print_neurons(rng), "Foo[7:12]")
     self.assertEqual(print_neurons(rng, "nrp.brain."),
                      "nrp.brain.Foo[slice(7, 12)]")
     rng.step = 2
     self.assertEqual(print_neurons_index(rng), "slice(7, 12, 2)")
     self.assertEqual(get_neurons_index(rng), "7:2:12")
     self.assertEqual(print_neurons(rng), "Foo[7:2:12]")
     self.assertEqual(print_neurons(rng, "nrp.brain."),
                      "nrp.brain.Foo[slice(7, 12, 2)]")