class TestInversion(TestOperatorCommon): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.sut = InversionOperator() def test_inversion_should_behave_like_evolution_operator(self): self.operator_executes_with_some_chance_scenario( self.configuration.operators.inversion.chance, [self.rule_1]) self.operator_raises_exception_on_invalid_arity_scenario(0, 2) def test_inversion_changes_order_of_right_side_of_the_rule(self): # Given: self.randomizer_mock.perform_with_chance.return_value = True # When/Then: rule_new, = self.sut.apply(self.service_mock, self.rule_population_mock, self.rule_1) assert_that(rule_new, is_(equal_to(Rule(Symbol('A'), Symbol('C'), Symbol('B'))))) self.randomizer_mock.perform_with_chance.assert_called_once_with( self.configuration.operators.inversion.chance)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.sut = InversionOperator()