def test_skip_too_much(self): model = StagedSequenceModel(num_mutations=120) model.add_stage(self.stages[0]) model.add_stage(self.stages[1]) m_num_mutations = model.num_mutations() to_skip = m_num_mutations + 10 expected_skipped = m_num_mutations expected_mutated = m_num_mutations - expected_skipped self._check_skip(model, to_skip, expected_skipped, expected_mutated)
def testSkipHalf(self): model = StagedSequenceModel(num_mutations=120) model.add_stage(self.stages[0]) model.add_stage(self.stages[1]) m_num_mutations = model.num_mutations() to_skip = m_num_mutations / 2 expected_skipped = to_skip expected_mutated = m_num_mutations - expected_skipped self._check_skip(model, to_skip, expected_skipped, expected_mutated)
def testSkipExact(self): model = StagedSequenceModel(num_mutations=120) model.add_stage(self.stages[0]) model.add_stage(self.stages[1]) m_num_mutations = model.num_mutations() to_skip = m_num_mutations expected_skipped = to_skip expected_mutated = m_num_mutations - expected_skipped self._check_skip(model, to_skip, expected_skipped, expected_mutated)
def test_num_mutations_single_stage(self): num_mutation_list = [0, 1, 500, 1000, 10000] for expected_num_mutations in num_mutation_list: model = StagedSequenceModel(num_mutations=expected_num_mutations) model.add_stage(self.stages[0]) m_num_mutations = model.num_mutations() self.assertEqual(expected_num_mutations, m_num_mutations) actual_mutations = 0 while model.mutate(): actual_mutations += 1 self.assertEqual(expected_num_mutations, actual_mutations)
def testNumMutationsSingleStage(self): num_mutation_list = [0, 1, 500, 1000, 10000] for expected_num_mutations in num_mutation_list: model = StagedSequenceModel(num_mutations=expected_num_mutations) model.add_stage(self.stages[0]) m_num_mutations = model.num_mutations() self.assertEqual(expected_num_mutations, m_num_mutations) actual_mutations = 0 while model.mutate(): actual_mutations += 1 self.assertEqual(expected_num_mutations, actual_mutations)
def testNumMutationsMultiStage(self): num_mutation_list = [0, 1, 500, 1000, 10000] for expected_num_mutations in num_mutation_list: model = StagedSequenceModel(num_mutations=expected_num_mutations) for stage in self.stages: model.add_stage(stage) m_num_mutations = model.num_mutations() self.assertEqual(expected_num_mutations, m_num_mutations) actual_mutations = 0 while model.mutate(): actual_mutations += 1 self.assertEqual(expected_num_mutations, actual_mutations)