• 
      

    Add base classes for mutators.

    Review Request #12270 — Created May 6, 2022 and submitted — Latest diff uploaded

    Information

    Django Evolution
    release-2.x

    Reviewers

    This introduces two new class: BaseMutator and BaseAppStateMutator.

    BaseMutator is the base class for all mutators. It stores a couple of
    attributes used in the mutator process (can_simulate and finalized),
    introduces a function for finalizing, and a default to_sql()
    implementation.

    BaseAppStateMutator subclasses this, takes the parent AppMutator,
    and sets up some forwarding properties that reflect or update the
    AppMutator. It contains run_mutation() and run_simulation()
    functions as well.

    Right now, only ModelMutator subclasses BaseAppStateMutator, but
    another will be coming soon.

    All unit tests pass.

    Tested along with an upcoming new mutator.

    Commits

    Files