diff --git a/v4/ctx_test2.cpp b/v4/ctx_test2.cpp index ca60a61..d9b4d63 100644 --- a/v4/ctx_test2.cpp +++ b/v4/ctx_test2.cpp @@ -7,7 +7,7 @@ std::string s(const char *str) { return std::string(str); } -std::string ctx_test_Controller_executeFunctions_set() { +std::string test_ctx_Controller_executeFunctions_set() { auto c = memory_createContext(); ctx_Controller ctrl(c); // Disable automatic invocation of executeFunctions. @@ -29,14 +29,6 @@ std::string ctx_test_Controller_executeFunctions_set() { ctrl.executeFunctions(); // Apply 'outputHelp'. ctrl.executeFunctions(); - std::cout - << "input: '" - << ctrl.context.input - << "'" - << ((ctrl.context.input == "123") ? "1" : "0") - << " " - << ((ctrl.context.outputHelp == "Checked") ? "1" : "0") - << std::endl; if ( ctrl.context.input == "123" && ctrl.context.outputHelp == "Checked" @@ -45,3 +37,29 @@ std::string ctx_test_Controller_executeFunctions_set() { } return "ERR: ctx_Controller_executeFunctions_set"; } + +std::string test_ctx_Controller_processQueue() { + auto c = memory_createContext(); + ctx_Controller ctrl(c); + + 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); + ctrl.set("input", s("abc")); + if ( + ctrl.context.input == "abc" && + ctrl.context.outputHelp == "Checked" + ) { + return "OK: ctx_Controller_processQueue"; + } + return "ERR: ctx_Controller_processQueue"; +} + diff --git a/v4/ctx_test2.h b/v4/ctx_test2.h index 99230ca..2f8a794 100644 --- a/v4/ctx_test2.h +++ b/v4/ctx_test2.h @@ -3,6 +3,7 @@ #ifndef ctx_test_HEADER #define ctx_test_HEADER -std::string ctx_test_Controller_executeFunctions_set(); +std::string test_ctx_Controller_executeFunctions_set(); +std::string test_ctx_Controller_processQueue(); #endif // ctx_test_HEADER diff --git a/v4/main.cpp b/v4/main.cpp index 05bac98..e2e5d00 100644 --- a/v4/main.cpp +++ b/v4/main.cpp @@ -7,7 +7,9 @@ int main() { std::cout - << ctx_test_Controller_executeFunctions_set() + << test_ctx_Controller_executeFunctions_set() + << std::endl + << test_ctx_Controller_processQueue() << std::endl << llm_test_isDigit_digit() << std::endl