Added more cases to the AddDelete tests. Now to add subtests so we can more easily pluralize these tests, including handling cases of different senders.

This commit is contained in:
Pietro Gagliardi 2019-05-19 01:06:43 -04:00
parent a81ea6e3fb
commit 35759935ae
1 changed files with 44 additions and 17 deletions

View File

@ -63,7 +63,8 @@ testingTest(BasicEventsAddDeleteEventHandlers)
uiEventOptions opts; uiEventOptions opts;
struct handler hbase[6]; struct handler hbase[6];
struct handler h[6]; struct handler h[6];
int firstHandler, middleHandler, lastHandler; int handler1, handler2, handler3;
int newHandler1, newHandler2, newHandler3;
memset(&opts, 0, sizeof (uiEventOptions)); memset(&opts, 0, sizeof (uiEventOptions));
opts.Size = sizeof (uiEventOptions); opts.Size = sizeof (uiEventOptions);
@ -71,17 +72,17 @@ testingTest(BasicEventsAddDeleteEventHandlers)
e = uiNewEvent(&opts); e = uiNewEvent(&opts);
memset(hbase, 0, 6 * sizeof (struct handler)); memset(hbase, 0, 6 * sizeof (struct handler));
hbase[0].name = "first handler"; hbase[0].name = "handler 1";
hbase[1].name = "middle handler"; hbase[1].name = "handler 2";
hbase[2].name = "last handler"; hbase[2].name = "handler 3";
hbase[3].name = "new handler 1"; hbase[3].name = "new handler 1";
hbase[4].name = "new handler 2"; hbase[4].name = "new handler 2";
hbase[5].name = "new handler 3"; hbase[5].name = "new handler 3";
testingTLogf(t, "*** initial handlers"); testingTLogf(t, "*** initial handlers");
firstHandler = uiEventAddHandler(e, handler, whichSender, h + 0); handler1 = uiEventAddHandler(e, handler, whichSender, h + 0);
middleHandler = uiEventAddHandler(e, handler, whichSender, h + 1); handler2 = uiEventAddHandler(e, handler, whichSender, h + 1);
uiEventAddHandler(e, handler, whichSender, h + 2); handler3 = uiEventAddHandler(e, handler, whichSender, h + 2);
memmove(h, hbase, 6 * sizeof (struct handler)); memmove(h, hbase, 6 * sizeof (struct handler));
uiEventFire(e, whichSender, whichArgs); uiEventFire(e, whichSender, whichArgs);
@ -92,8 +93,8 @@ testingTest(BasicEventsAddDeleteEventHandlers)
checkHandlerNotRun(h[4]); checkHandlerNotRun(h[4]);
checkHandlerNotRun(h[5]); checkHandlerNotRun(h[5]);
testingTLogf(t, "*** deleting middle handler"); testingTLogf(t, "*** deleting a handler from the middle");
uiEventDeleteHandler(e, middleHandler); uiEventDeleteHandler(e, handler2);
memmove(h, hbase, 6 * sizeof (struct handler)); memmove(h, hbase, 6 * sizeof (struct handler));
uiEventFire(e, whichSender, whichArgs); uiEventFire(e, whichSender, whichArgs);
@ -104,8 +105,8 @@ testingTest(BasicEventsAddDeleteEventHandlers)
checkHandlerNotRun(h[4]); checkHandlerNotRun(h[4]);
checkHandlerNotRun(h[5]); checkHandlerNotRun(h[5]);
testingTLogf(t, "*** adding handler after deleting middle handler"); testingTLogf(t, "*** adding handler after deleting a handler from the middle");
uiEventAddHandler(e, handler, whichSender, h + 3); newHandler1 = uiEventAddHandler(e, handler, whichSender, h + 3);
memmove(h, hbase, 6 * sizeof (struct handler)); memmove(h, hbase, 6 * sizeof (struct handler));
uiEventFire(e, whichSender, whichArgs); uiEventFire(e, whichSender, whichArgs);
@ -116,9 +117,9 @@ testingTest(BasicEventsAddDeleteEventHandlers)
checkHandlerNotRun(h[4]); checkHandlerNotRun(h[4]);
checkHandlerNotRun(h[5]); checkHandlerNotRun(h[5]);
testingTLogf(t, "*** deleting first handler and adding another"); testingTLogf(t, "*** deleting first handler added and adding another");
uiEventDeleteHandler(e, firstHandler); uiEventDeleteHandler(e, handler1);
lastHandler = uiEventAddHandler(e, handler, whichSender, h + 4); newHandler2 = uiEventAddHandler(e, handler, whichSender, h + 4);
memmove(h, hbase, 6 * sizeof (struct handler)); memmove(h, hbase, 6 * sizeof (struct handler));
uiEventFire(e, whichSender, whichArgs); uiEventFire(e, whichSender, whichArgs);
@ -129,9 +130,9 @@ testingTest(BasicEventsAddDeleteEventHandlers)
checkHandlerRun(h[4], whichSender, whichArgs); checkHandlerRun(h[4], whichSender, whichArgs);
checkHandlerNotRun(h[5]); checkHandlerNotRun(h[5]);
testingTLogf(t, "*** deleting last handler and adding another"); testingTLogf(t, "*** deleting most recently added handler and adding another");
uiEventDeleteHandler(e, lastHandler); uiEventDeleteHandler(e, newHandler2);
uiEventAddHandler(e, handler, whichSender, h + 5); newHandler3 = uiEventAddHandler(e, handler, whichSender, h + 5);
memmove(h, hbase, 6 * sizeof (struct handler)); memmove(h, hbase, 6 * sizeof (struct handler));
uiEventFire(e, whichSender, whichArgs); uiEventFire(e, whichSender, whichArgs);
@ -141,6 +142,32 @@ testingTest(BasicEventsAddDeleteEventHandlers)
checkHandlerRun(h[3], whichSender, whichArgs); checkHandlerRun(h[3], whichSender, whichArgs);
checkHandlerNotRun(h[4]); checkHandlerNotRun(h[4]);
checkHandlerRun(h[5], whichSender, whichArgs); checkHandlerRun(h[5], whichSender, whichArgs);
testingTLogf(t, "*** deleting all handlers");
uiEventDeleteHandler(e, handler3);
uiEventDeleteHandler(e, newHandler1);
uiEventDeleteHandler(e, newHandler3);
memmove(h, hbase, 6 * sizeof (struct handler));
uiEventFire(e, whichSender, whichArgs);
checkHandlerNotRun(h[0]);
checkHandlerNotRun(h[1]);
checkHandlerNotRun(h[2]);
checkHandlerNotRun(h[3]);
checkHandlerNotRun(h[4]);
checkHandlerNotRun(h[5]);
testingTLogf(t, "*** adding handler after deleting all handlers");
uiEventAddHandler(e, handler, whichSender, h + 0);
memmove(h, hbase, 6 * sizeof (struct handler));
uiEventFire(e, whichSender, whichArgs);
checkHandlerRun(h[0], whichSender, whichArgs);
checkHandlerNotRun(h[1]);
checkHandlerNotRun(h[2]);
checkHandlerNotRun(h[3]);
checkHandlerNotRun(h[4]);
checkHandlerNotRun(h[5]);
} }
testingTest(EventErrors) testingTest(EventErrors)