Add base classes for mutators.
Review Request #12270 — Created May 6, 2022 and submitted — Latest diff uploaded
This introduces two new class:
BaseMutatorandBaseAppStateMutator.
BaseMutatoris the base class for all mutators. It stores a couple of
attributes used in the mutator process (can_simulateandfinalized),
introduces a function for finalizing, and a defaultto_sql()
implementation.
BaseAppStateMutatorsubclasses this, takes the parentAppMutator,
and sets up some forwarding properties that reflect or update the
AppMutator. It containsrun_mutation()andrun_simulation()
functions as well.Right now, only
ModelMutatorsubclassesBaseAppStateMutator, but
another will be coming soon.
All unit tests pass.
Tested along with an upcoming new mutator.