1 // Copyright (C) 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /******************************************************************** 4 * COPYRIGHT: 5 * Copyright (c) 2002-2010, International Business Machines Corporation and 6 * others. All Rights Reserved. 7 ********************************************************************/ 8 9 10 #ifndef _UOBJECTTEST_ 11 #define _UOBJECTTEST_ 12 13 #include "intltest.h" 14 15 /** 16 * Test uobjtest.h 17 **/ 18 class UObjectTest : public IntlTest { 19 // IntlTest override 20 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ); 21 private: 22 // tests 23 void testIDs(); 24 void testUMemory(); 25 void TestMFCCompatibility(); 26 void TestCompilerRTTI(); 27 28 //helper 29 30 /** 31 * @param obj The UObject to be tested 32 * @param className The name of the class being tested 33 * @param factory String version of obj, for exanple "new UFoo(1,3,4)". NULL if object is abstract. 34 * @param staticID The result of class :: getStaticClassID 35 * @return Returns obj, suitable for deletion 36 */ 37 UObject *testClass(UObject *obj, 38 const char *className, const char *factory, 39 UClassID staticID); 40 41 UObject *testClassNoClassID(UObject *obj, 42 const char *className, const char *factory); 43 }; 44 45 #endif 46 //eof 47