Imported Upstream version 58.1
[platform/upstream/icu.git] / source / test / intltest / uobjtest.h
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