36 using lib::append_all;
48 using DataSeq = vector<string>;
50 #define TOK(id) id(STRINGIFY(id)) 52 string TOK(a1), TOK(a2), TOK(a3), TOK(a4), TOK(a5);
53 string TOK(b1), TOK(b2), TOK(b3), TOK(b4);
57 using DiffSeq = vector<DiffStep>;
93 DataSeq toObserve({a1,a2,a3,a4,a5});
96 CHECK (!detector.isChanged());
97 toObserve = {b1,a3,a5,b2,b3,a4,b4};
98 CHECK (detector.isChanged());
100 auto changes = detector.pullUpdate();
101 CHECK (!isnil (changes));
102 CHECK (!detector.isChanged());
104 DiffSeq generatedDiff;
105 append_all (changes, generatedDiff);
107 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.
Simple 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.