From 9acfa6592b15be8f30cd871e962bcd88580d8779 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Fri, 7 Jun 2024 21:50:02 +0300 Subject: [PATCH] d --- v4/ctx_test2.cpp | 36 +++++++++++++++++++++++++++--------- v4/ctx_test2.h | 3 ++- v4/main.cpp | 4 +++- 3 files changed, 32 insertions(+), 11 deletions(-) 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