Lumiera  0.pre.03
DiffComplexApplication_test Class Reference


Demonstration: apply a structural change to unspecified private data structures, with the help of an dynamic adapter
  • we use private data classes, defined right here in the test fixture to represent "just some" pre-existing data structure.
  • we re-assign some attribute values
  • we add, re-order and delete child "elements", without knowing what these elements actually are and how they are to be handled.
  • we recurse into mutating such an _"unspecified"_ child element.
this test uses the same verb sequence as is assumed for the coverage of diff building blocks in TreeMutatorBinding_test
See also
DiffTreeApplication_test generic variant of tree diff application
TreeMutatorBinding_test coverage of the "building blocks"
TreeMutator_test base operations of the adapter

Definition at line 306 of file diff-complex-application-test.cpp.

Private Types

using DiffSeq = iter_stl::IterSnapshot< DiffStep >
- Private Types inherited from TreeDiffLanguage
using Interpreter = TreeDiffInterpreter
- Private Types inherited from DiffLanguage< TreeDiffInterpreter, GenNode >
using DiffToken = std::tuple< DiffVerb, GenNode >
using DiffVerb = VerbToken< TreeDiffInterpreter, void(GenNode const &)>
using Interpreter = TreeDiffInterpreter

Private Member Functions

DiffSeq mutationDiff ()
DiffSeq populationDiff ()
DiffSeq reorderingDiff ()
virtual void run (Arg)
- Private Member Functions inherited from TreeDiffLanguage
 DiffStep_CTOR (ins)
 DiffStep_CTOR (del)
 DiffStep_CTOR (pick)
 DiffStep_CTOR (find)
 DiffStep_CTOR (skip)
 DiffStep_CTOR (after)
 DiffStep_CTOR (set)
 DiffStep_CTOR (mut)
 DiffStep_CTOR (emu)

Additional Inherited Members

- Static Private Attributes inherited from DiffLanguage< TreeDiffInterpreter, GenNode >
static const DiffStep NIL
 fixed "invalid" marker token More...

Member Typedef Documentation

◆ DiffSeq

Definition at line 310 of file diff-complex-application-test.cpp.

Member Function Documentation

◆ populationDiff()

DiffSeq populationDiff ( )

Definition at line 313 of file diff-complex-application-test.cpp.

References lib::iter_stl::snapshot().

+ Here is the call graph for this function:

◆ reorderingDiff()

DiffSeq reorderingDiff ( )

Definition at line 325 of file diff-complex-application-test.cpp.

References Ref::ATTRIBS, proc::mobject::session::test::find(), and lib::iter_stl::snapshot().

+ Here is the call graph for this function:

◆ mutationDiff()

DiffSeq mutationDiff ( )

Definition at line 338 of file diff-complex-application-test.cpp.

References Ref::END, and lib::iter_stl::snapshot().

+ Here is the call graph for this function:

◆ run()

virtual void run ( Arg  )

Definition at line 366 of file diff-complex-application-test.cpp.

References DiffApplicator< TAR >::consume(), lib::diff::test::LAUNCHER(), and Record< VAL >::TYPE_NIL.

+ Here is the call graph for this function:
+ Inheritance diagram for DiffComplexApplication_test:
+ Collaboration diagram for DiffComplexApplication_test:

The documentation for this class was generated from the following file: