Ejemplo n.º 1
0
    def test_simulation_cycle(self):
        fakepop = Pop(fit_fun='policingdemog', inst='test/test')
        fakepop.numberOfDemes = 3
        fakepop.initialDemeSize = 10
        fakepop.numberOfGenerations = 10

        try:
            fakepop.runSimulation()
            for f in glob.glob('test/test/out_*.txt'):
                os.remove(f)
        except ValueError as e:
            assert False, str(e)
Ejemplo n.º 2
0
    def test_function_runs_at_population_level(self):
        fakepop = Pop(fit_fun='policingdemog', inst='test/test')
        fakepop.numberOfDemes = 3
        fakepop.initialDemeSize = 4

        fakepop.createAndPopulateDemes()
        fakepop.clearDemeInfo()
        fakepop.populationMutationMigration()
        fakepop.updateDemeInfoPreProduction()
        fakepop.populationProduction()
        fakepop.updateDemeInfoPostProduction()

        try:
            fakepop.populationReproduction()
        except:
            assert False, "not running"
Ejemplo n.º 3
0
 def _foo(fb=10,
          mutRate=0.1,
          fun='pgg',
          pars={
              "fb": 10,
              "b": 0.5,
              "c": 0.05,
              "gamma": 0.01
          }):
     population = Pop(fit_fun=fun, inst='test/test')
     population.numberOfDemes = 5
     population.initialDemeSize = 8
     population.numberOfGenerations = 5
     population.mutationRate = mutRate
     # make sure fitness parameters are alright
     population.fitnessParameters.clear()
     population.fitnessParameters.update(pars)
     population.fitnessParameters.update({'fb': fb})
     population.runSimulation()
     return population.numberOfGenerations
Ejemplo n.º 4
0
    def _foo(fitfun='pgg'):
        fakepop = Pop(inst='test/test')
        fakepop.numberOfDemes = 3
        fakepop.initialDemeSize = 10
        fakepop.fitnessParameters = fitpardict[fitfun]
        fakepop.fit_fun = fitfun
        fakepop.mutationRate = 0
        fakepop.migrationRate = 0
        fakepop.createAndPopulateDemes()
        for i in range(fakepop.demography):
            fakepop.individuals[i].resourcesAmount = i * 2
        parents = fakepop.individuals

        for ind in range(len(parents)):
            indiv = fakepop.individuals[ind]
            indiv.resourcesAmount = ind * 2
        fakepop.clearDemeInfo()
        fakepop.populationMutationMigration()
        fakepop.updateDemeInfoPreProduction()
        fakepop.populationProduction()
        fakepop.updateDemeInfoPostProduction()
        fakepop.populationReproduction()
        return (fakepop, parents)
Ejemplo n.º 5
0
 def _foo(nDemes):
     fakepop = Pop(inst='test/test')
     fakepop.numberOfDemes = nDemes
     fakepop.initialDemeSize = 1
     fakepop.createAndPopulateDemes()
     return fakepop
Ejemplo n.º 6
0
 def _foo(nIndivs):
     fakepop = Pop(inst='test/test')
     fakepop.numberOfDemes = 1
     fakepop.createAndPopulateDemes(fakepop.numberOfDemes, nIndivs)
     return fakepop