#include #include "ctx.h" #include "memory_Context.h" #include std::string ctx_test_Controller_executeFunctions_set() { auto c = memory_createContext(); ctx_Controller ctrl(c); // Disable automatic invocation of executeFunctions. ctrl.isProcessingQueue = true; ctrl.set("input", "123"); std::cout << "input: '" << ctrl.context.input << "'" << std::endl; auto processInput = [](memory_Context c) -> memory_Context { if (c.recentField == "input") { c.outputHelp = "Checked"; c.recentField = "outputHelp"; return c; } c.recentField = "none"; return c; }; ctrl.registerFunction(processInput); // Apply 'input'. ctrl.executeFunctions(); // Apply 'outputHelp'. ctrl.executeFunctions(); std::cout << "input: '" << ctrl.context.input << "'" << std::endl; if ( ctrl.context.input == "123" && ctrl.context.outputHelp == "Checked" ) { return "OK: ctx_Controller_executeFunctions_set"; } return "ERR: ctx_Controller_executeFunctions_set"; }