Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
DiffComplexApplication_test Class Reference

Description

Test:
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.
Note
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
tree-diff-application.hpp
tree-diff.hpp

Definition at line 297 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 DiffVerb = VerbToken< TreeDiffInterpreter, void(GenNode const &)>
 
using DiffToken = std::tuple< DiffVerb, GenNode >
 
using Interpreter = TreeDiffInterpreter
 

Private Member Functions

DiffSeq populationDiff ()
 
DiffSeq reorderingDiff ()
 
DiffSeq mutationDiff ()
 
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
 

Member Typedef Documentation

◆ DiffSeq

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

Member Function Documentation

◆ populationDiff()

DiffSeq populationDiff ( )
inlineprivate

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

Referenced by DiffComplexApplication_test::run().

+ Here is the caller graph for this function:

◆ reorderingDiff()

DiffSeq reorderingDiff ( )
inlineprivate

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

References Ref::ATTRIBS.

Referenced by DiffComplexApplication_test::run().

+ Here is the caller graph for this function:

◆ mutationDiff()

DiffSeq mutationDiff ( )
inlineprivate

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

References Ref::END.

Referenced by DiffComplexApplication_test::run().

+ Here is the caller graph for this function:

◆ run()

virtual void run ( Arg  )
inlineprivatevirtual

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

References DiffApplicator< TAR >::consume(), GenNode::data, DataCap::get(), DiffComplexApplication_test::mutationDiff(), DiffComplexApplication_test::populationDiff(), DiffComplexApplication_test::reorderingDiff(), 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: