void ActiveDispatcherTest::testVoidInOut() { ActiveObject activeObj; ActiveResult<void> result = activeObj.testVoidInOut(); assert (!result.available()); activeObj.cont(); result.wait(); assert (result.available()); assert (!result.failed()); }
void ActiveDispatcherTest::testVoidIn() { ActiveObject activeObj; ActiveResult<int> result = activeObj.testVoidIn(); assert (!result.available()); activeObj.cont(); result.wait(); assert (result.available()); assert (!result.failed()); assert (result.data() == 123); }
void ActiveMethodTest::testWait() { ActiveObject activeObj; ActiveResult<int> result = activeObj.testMethod(123); assert (!result.available()); activeObj.cont(); result.wait(); assert (result.available()); assert (result.data() == 123); assert (!result.failed()); }
void ActiveDispatcherTest::testTryWait() { ActiveObject activeObj; ActiveResult<int> result = activeObj.testMethod(123); assert (!result.available()); assert (!result.tryWait(200)); activeObj.cont(); assert (result.tryWait(10000)); assert (result.available()); assert (result.data() == 123); assert (!result.failed()); }
void ActiveMethodTest::testVoidOut() { ActiveObject activeObj; ActiveResult<void> result = activeObj.testVoid(101); activeObj.cont(); result.wait(); assert (result.available()); assert (!result.failed()); }
void ActiveDispatcherTest::testFailure() { ActiveObject activeObj; ActiveResult<int> result = activeObj.testMethod(100); result.wait(); assert (result.available()); assert (result.failed()); std::string msg = result.error(); assert (msg == "n == 100"); }
void ActiveDispatcherTest::testWaitInterval() { ActiveObject activeObj; ActiveResult<int> result = activeObj.testMethod(123); assert (!result.available()); try { result.wait(100); fail("wait must fail"); } catch (Exception&) { } activeObj.cont(); result.wait(10000); assert (result.available()); assert (result.data() == 123); assert (!result.failed()); }
void ActiveMethodTest::testCopy() { ActiveObject activeObj; ActiveObject::IntIntType ii = activeObj.testMethod; ActiveResult<int> rii = ii(123); assert (!rii.available()); activeObj.cont(); rii.wait(); assert (rii.available()); assert (rii.data() == 123); assert (!rii.failed()); ActiveObject::VoidIntType vi = activeObj.testVoid; ActiveResult<void> rvi = vi(123); assert (!rvi.available()); activeObj.cont(); rvi.wait(); assert (rvi.available()); assert (!rvi.failed()); ActiveObject::VoidVoidType vv = activeObj.testVoidInOut; ActiveResult<void> rvv = vv(); assert (!rvv.available()); activeObj.cont(); rvv.wait(); assert (rvv.available()); assert (!rvv.failed()); ActiveObject::IntVoidType iv = activeObj.testVoidIn; ActiveResult<int> riv = iv(); assert (!riv.available()); activeObj.cont(); riv.wait(); assert (riv.available()); assert (riv.data() == 123); assert (!riv.failed()); }