boost::unit_test_framework::test_suite;
84x_AddTrace(evt,
"OnEvent_A_Derived");
135*m_Trace += x_GetMethodTrace(
"OnCommand_1");
142pCmdUI->Enable(
false);
149pCmdUI->Enable(
true);
150pCmdUI->SetCheck(
true);
161src.Send(&evt, disp_how);
164dst.OnEvent(&test_evt);
190evt =
new CEvent(CEvent::eEvent_Command,
cmd);
234BOOST_CHECK(ls ==
NULL);
236BOOST_CHECK(ls !=
NULL&& (
int) ls->size() ==
size);
245post_dst.
Post(evt);
246send_dst.
Send(&*evt);
256target.
Send(&test_evt);
281BOOST_CHECK(evt.
GetTrace() ==
"");
300BOOST_CHECK(*
handler.GetTrace() ==
"");
322handler_2.OnEvent(&evt);
332handler_2.OnEvent(&evt);
345BOOST_CHECK(evt.
GetTrace() ==
"");
359 handler.AddListener(&handler_1);
364BOOST_CHECK(
handler.HasListener(&handler_1));
366BOOST_CHECK(
handler.HasListener(&handler_2));
369BOOST_CHECK(
handler.HasListener(&handler_3));
373BOOST_CHECK( ! handler_1.HasListener(&
handler));
374BOOST_CHECK( ! handler_2.HasListener(&
handler));
375BOOST_CHECK( ! handler_3.HasListener(&
handler));
386 handler.RemoveListener(&handler_2);
396BOOST_CHECK(ls ==
NULL);
399BOOST_CHECK(ls ==
NULL);
417BOOST_CHECK_NO_THROW(
handler.RemoveListener(
NULL));
420 handler.RemoveListener(&handler_1);
421BOOST_CHECK_NO_THROW(
handler.RemoveListener(&handler_1));
433handler_1.AddListener(&handler_2);
438handler_1.OnEvent(&evt);
482BOOST_CHECK(evt->GetTrace() == test_evt.
GetTrace());
498handler_1.Send(&test_evt);
500BOOST_CHECK(evt.
GetTrace().empty());
511handler_1.AddListener(&handler_2);
530BOOST_CHECK(
ok==
false&& evt.
GetTrace() ==
"");
535 stringtrace_5, trace_5s, trace_6, trace_6s;
551BOOST_CHECK(
n== 4);
552BOOST_CHECK(trace_5 == trace_5s);
553BOOST_CHECK(trace_6 == trace_6s);
592handler_1.AddListener(&handler_2);
593handler_2.AddListener(&handler_3);
605handler_1.OnEvent(&test_evt);
606handler_2.OnEvent(&test_evt);
607handler_3.OnEvent(&test_evt);
632handler_1.AddListener(&handler_2_1);
633handler_1.AddListener(&handler_2_2);
634handler_1.AddListener(&handler_2_3);
636handler_2_2.AddListener(&handler_2_2_1);
637handler_2_2.AddListener(&handler_2_2_2);
645handler_1.OnEvent(&test_evt);
646handler_2_1.OnEvent(&test_evt);
647handler_2_2.OnEvent(&test_evt);
648handler_2_2_1.OnEvent(&test_evt);
649handler_2_2_2.OnEvent(&test_evt);
650handler_2_3.OnEvent(&test_evt);
661handler_2_2_1.OnEvent(&test_evt);
675handler_1.AddListener(&handler_2);
676handler_1.AddListener(&handler_3);
678handler_2.AddListener(&handler_1);
679handler_2.AddListener(&handler_3);
681handler_3.AddListener(&handler_1);
682handler_3.AddListener(&handler_2);
690handler_2.OnEvent(&test_evt);
691handler_1.OnEvent(&test_evt);
692handler_3.OnEvent(&test_evt);
702handler_3.OnEvent(&test_evt);
703handler_1.OnEvent(&test_evt);
704handler_2.OnEvent(&test_evt);
720handler_1.AddListener(&handler_2);
721handler_1.AddListener(&handler_3, 7);
722handler_1.AddListener(&handler_4, 7);
723handler_1.AddListener(&handler_4, 13);
732handler_1.OnEvent(&test_evt);
733handler_2.OnEvent(&test_evt);
734handler_3.OnEvent(&test_evt);
735handler_4.OnEvent(&test_evt);
745handler_1.OnEvent(&test_evt);
746handler_3.OnEvent(&test_evt);
747handler_4.OnEvent(&test_evt);
757handler_1.OnEvent(&test_evt);
758handler_4.OnEvent(&test_evt);
790 boolhandled =
handler.OnEvent(&evt);
792BOOST_CHECK(ui.
IsVisited() ==
false&& handled ==
false);
810std::ofstream
out(
"events_result.xml");
815 #if BOOST_VERSION >= 103300 816 typedefboost::unit_test_framework::unit_test_log_t
TLog;
817 TLog&
log= boost::unit_test_framework::unit_test_log;
819 log.set_format(boost::unit_test_framework::XML);
820 log.set_threshold_level(boost::unit_test_framework::log_test_suites);
822 typedefboost::unit_test_framework::unit_test_log
TLog;
824 log.set_log_stream(
out);
825 log.set_log_format(
"XML");
826 log.set_log_threshold_level(boost::unit_test_framework::log_test_suites);
830test_suite*
test= BOOST_TEST_SUITE(
"gui/utils Event Handling Test.");
832test_suite* suite = BOOST_TEST_SUITE(
"Event Handling Unit Test");
CEvent - generic event implementation TODO TODO - Attachments.
bool IsEnabled() const
"true" if at least one memeber was called
void OnUpdateCheck(ICmdUI *pCmdUI)
disables pCmdUI
void OnUpdateDisable(ICmdUI *pCmdUI)
handler for eCmd_5 that does not have update handler
CTestCommandHandler(int id, TTrace &trace)
CTestEventAttachment.
CTestEventAttachment CTestEventAttachment is used for testing attachment management policies (how att...
static int sm_Count
CTestEventAttachment.
virtual ~CTestEventAttachment()
const TTrace & GetTrace() const
CTracingHandler_1(int id=-1)
CTracingHandler_1.
void OnEvent_C_Derived(CEvent *evt)
void OnEvent_A_Derived(CEvent *evt)
void OnEvent_A(CEvent *evt)
string x_GetMethodTrace(const string &method) const
void OnMessage_B(CEvent *evt)
void x_AddTrace(CEvent *evt, const string &method)
void OnEvent_B(CEvent *evt)
CTraceEvent::TTrace TTrace
void OnCommand_Range(TCmdID cmd)
void OnMessage_A(CEvent *evt)
void(*)(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj) handler
Include a standard set of the NCBI C++ Toolkit most basic headers.
void TestOnEvent(CEvent::TEventClass cls, CEvent::TEventID id, CTracingHandler &handler, FOnEventHandler func)
void TestEventDispatch(CTracingHandler &src, int id, CEventHandler::EDispatch disp_how, CTracingHandler &dst)
CBasicEventsTest.
test_suite * init_unit_test_suite(int argc, char *argv[])
void AssertPoolSize(CTracingHandler &handler, int pool, int size)
void TestDispatchingOnTree()
void TestPostVersusSend(CEventHandler &target, CEventHandler::EDispatch disp_how, int pool_name)
void TestCommandUpdateReached(CTracingHandler &handler, TCmdID cmd)
void TestDispatchingOnChain()
void TestDispatchingInPools()
test pool isolation by firing events in different pools
void TestCommand(TCmdID cmd, bool custom, CTracingHandler &handler, FOnCommandHandler func)
void TestCommandUpdates()
std::ofstream out("events_result.xml")
main entry point for tests
void TestDispatchingOnLoops()
void TestEntryPoints()
CEventHandler has several entry points - OnEvent(), Dispatch(), Send() and Post().
void TestMapInheritance()
Create an instance of CTracingHandler_2 class extending the event map of its base - CTracingHandler.
void TestEventAttachment()
void PostEvent(CEventHandler &post_dst, CEventHandler &send_dst, int cmd)
#define test(a, b, c, d, e)
static bool HandlePostRequest()
vector< CEventHandler * > TListeners
void Post(CRef< CEvent > evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default)
Handles an event asynchronously (process and/or dispatch).
#define ON_EVENT(type, id, handler)
#define END_EVENT_MAP()
Ends definition of Command Map.
#define BEGIN_EVENT_MAP(thisClass, baseClass)
Begins definition of Command Map for CEventHandler-derived class.
EDispatch
enum controlling dispatching strategies
virtual bool Send(CEvent *evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default)
Sends an event synchronously.
@ eRelease
delete object when ownership end
@ eEvent_Message
message from one class to another
@ eDispatch_AllHandlers
handle and do not dispatch to listeners
@ eDispatch_FirstHandler
dispatch to all handlers
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const struct ncbi::grid::netcache::search::fields::SIZE size
map< Uint2, SSlotData > TLog
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4