27 using lib::append_all;
39 using DataSeq = vector<string>;
41 #define TOK(id) id(STRINGIFY(id)) 43 string TOK(a1), TOK(a2), TOK(a3), TOK(a4), TOK(a5);
44 string TOK(b1), TOK(b2), TOK(b3), TOK(b4);
48 using DiffSeq = vector<DiffStep>;
84 DataSeq toObserve({a1,a2,a3,a4,a5});
87 CHECK (!detector.isChanged());
88 toObserve = {b1,a3,a5,b2,b3,a4,b4};
89 CHECK (detector.isChanged());
91 auto changes = detector.pullUpdate();
92 CHECK (!isnil (changes));
93 CHECK (!detector.isChanged());
95 DiffSeq generatedDiff;
96 append_all (changes, generatedDiff);
98 CHECK (generatedDiff == DiffSeq({del(a1)
Interpreter interface to define the operations ("verbs"), which describe differences or changes in a ...
Implementation namespace for support and library code.
Simplistic test class runner.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
Detect and describe changes in a monitored data sequence.
Compare two data sequences to find or describe differences.
#define DiffStep_CTOR(_ID_)
shortcut to define tokens of the diff language.