41 #define TOK(id) id(STRINGIFY(id))
60 return snapshot({del(a1)
99 DataSeq src({a1,a2,a3,a4,a5});
100 DiffSeq diff = generateTestDiff();
101 CHECK (!isnil (diff));
103 DataSeq target = src;
107 CHECK (isnil (diff));
108 CHECK (!isnil (target));
109 CHECK (src != target);
110 CHECK (target == DataSeq({b1,a3,a5,b2,b3,a4,b4}));
generic builder to apply a diff description to a given target data structure.
void consume(DIFF &&diff)
Interpreter interface to define the operations ("verbs"), which describe differences or changes in a ...
materialised iterator contents.
#define DiffStep_CTOR(_ID_)
shortcut to define tokens of the diff language.
Preconfigured adapters for some STL container standard usage situations.
Apply a "list diff" to a concrete sequence of elements in a container.
ListDiffLanguage< string >::DiffStep DiffStep
DiffSeq generateTestDiff()
ListDiffInterpreter< string > Interpreter
ContentSnapshot< CON > snapshot(CON const &con)
Take a snapshot of the given STL compliant container.
Implementation namespace for support and library code.
Test runner and basic definitions for tests.
bool isnil(lib::time::Duration const &dur)
Simplistic test class runner.
#define LAUNCHER(_TEST_CLASS_, _GROUPS_)
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...