Add base classes for mutators.
Review Request #12270 — Created May 6, 2022 and submitted — Latest diff uploaded
This introduces two new class:
BaseMutator
andBaseAppStateMutator
.
BaseMutator
is the base class for all mutators. It stores a couple of
attributes used in the mutator process (can_simulate
andfinalized
),
introduces a function for finalizing, and a defaultto_sql()
implementation.
BaseAppStateMutator
subclasses 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
ModelMutator
subclassesBaseAppStateMutator
, but
another will be coming soon.
All unit tests pass.
Tested along with an upcoming new mutator.