#include <Handler.h>
#include <Looper.h>
#include "HandlerAtTest.h"
HandlerAt(int32 index)
@case No handlers added, check for looper itself
@param index 0
@results HandlerAt() returns pointer to Looper.
*/
void THandlerAtTest::HandlerAtTest1()
{
BLooper Looper;
CPPUNIT_ASSERT(Looper.HandlerAt(0) == &Looper);
}
HandlerAt(int32 index)
@case Index out of range (CountHandlers() + 1)
@param index 1 & -1
@results HandlerAt() returns NULL
*/
void THandlerAtTest::HandlerAtTest2()
{
BLooper Looper;
CPPUNIT_ASSERT(Looper.HandlerAt(1) == NULL);
CPPUNIT_ASSERT(Looper.HandlerAt(-1) == NULL);
}
HandlerAt(int32 index)
@case Several handlers added, checked against expected indices
@param index Various
@results
*/
#define CREATE_AND_ADD(XHANDLER) \
BHandler XHANDLER; \
Looper.AddHandler(&XHANDLER);
void THandlerAtTest::HandlerAtTest3()
{
BLooper Looper;
CREATE_AND_ADD(Handler1);
CREATE_AND_ADD(Handler2);
CREATE_AND_ADD(Handler3);
CPPUNIT_ASSERT(Looper.HandlerAt(0) == &Looper);
CPPUNIT_ASSERT(Looper.HandlerAt(1) == &Handler1);
CPPUNIT_ASSERT(Looper.HandlerAt(2) == &Handler2);
CPPUNIT_ASSERT(Looper.HandlerAt(3) == &Handler3);
}
HandlerAt(int32 index)
@case Looper is not locked
@param index 0
@results
*/
void THandlerAtTest::HandlerAtTest4()
{
DEBUGGER_ESCAPE;
BLooper Looper;
Looper.Unlock();
CPPUNIT_ASSERT(Looper.HandlerAt(0) == &Looper);
}
TestSuite* THandlerAtTest::Suite()
{
TestSuite* suite = new TestSuite("BLooper::HandlerAt(int32)");
ADD_TEST4(BLooper, suite, THandlerAtTest, HandlerAtTest1);
ADD_TEST4(BLooper, suite, THandlerAtTest, HandlerAtTest2);
ADD_TEST4(BLooper, suite, THandlerAtTest, HandlerAtTest3);
ADD_TEST4(BLooper, suite, THandlerAtTest, HandlerAtTest4);
return suite;
}
* $Log $
*
* $Id $
*
*/