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)
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