示例#1
0
    def test_unserializable_chromosome(self, tmpdir):
        directory = tmpdir.mkdir("ckpt")

        class UnSerializableChromosome:
            def __init__(self, x):
                self.x = x

        pop = Population([UnSerializableChromosome(i) for i in range(10)], lambda x: x.x)
        with raises(self.exception):
            pop.checkpoint(target=directory, method=self.method)
示例#2
0
 def test_override_default_path(self, tmpdir, simple_chromosomes, simple_evaluation_function):
     # With checkpoint_target init
     directory1 = tmpdir.mkdir("ckpt1")
     pop1 = Population(simple_chromosomes, simple_evaluation_function, checkpoint_target=directory1)
     pop1.checkpoint(method=self.method)
     assert len(listdir(directory1)) == 1
     # With serializer init
     directory2 = tmpdir.mkdir("ckpt2")
     pop2 = Population(simple_chromosomes, simple_evaluation_function,
                       serializer=SimpleSerializer(target=directory2))
     pop2.checkpoint(method=self.method)
     assert len(listdir(directory2)) == 1
     # With override
     directory3 = tmpdir.mkdir("ckpt3")
     pop1.checkpoint(target=directory3, method=self.method)
     pop2.checkpoint(target=directory3, method=self.method)
     assert len(listdir(directory3)) == 2