Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: icu46/source/tools/ctestfw/unicode/tstdtmod.h

Issue 5516007: Check in the pristine copy of ICU 4.6... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 2002-2005, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7 /* Created by weiv 05/09/2002 */
8
9 /* Base class for data driven tests */
10
11 #ifndef U_TESTFW_TESTMODULE
12 #define U_TESTFW_TESTMODULE
13
14 #include "unicode/unistr.h"
15 #include "unicode/ures.h"
16 #include "unicode/testtype.h"
17 #include "unicode/testdata.h"
18 #include "unicode/datamap.h"
19 #include "unicode/testlog.h"
20
21
22 /* This class abstracts the actual organization of the
23 * data for data driven tests
24 */
25
26
27 class DataMap;
28 class TestData;
29
30
31 /** Main data driven test class. Corresponds to one named data
32 * unit (such as a resource bundle. It is instantiated using
33 * a factory method getTestDataModule
34 */
35 class T_CTEST_EXPORT_API TestDataModule {
36 const char* testName;
37
38 protected:
39 DataMap *fInfo;
40 TestLog& fLog;
41
42 public:
43 /** Factory method.
44 * @param name name of the test module. Usually name of a resource bundle or a XML file
45 * @param log a logging class, used for internal error reporting.
46 * @param status if something goes wrong, status will be set
47 * @return a TestDataModule object. Use it to get test data from it
48 */
49 static TestDataModule *getTestDataModule(const char* name, TestLog& log, UErro rCode &status);
50 virtual ~TestDataModule();
51
52 protected:
53 TestDataModule(const char* name, TestLog& log, UErrorCode& status);
54
55 public:
56 /** Name of this TestData module.
57 * @return a name
58 */
59 const char * getName() const;
60
61 /** Get a pointer to an object owned DataMap that contains more information on this module
62 * Usual fields are "Description", "LongDescription", "Settings". Also, if co ntaining a
63 * field "Headers" these will be used as the default headers, so that you don 't have to
64 * to specify per test headers.
65 * @param info pass in a const DataMap pointer. If no info, it will be set to NULL
66 */
67 virtual UBool getInfo(const DataMap *& info, UErrorCode &status) const = 0;
68
69 /** Create a test data object from an index. Helpful for integrating tests wit h current
70 * intltest framework which addresses the tests by index.
71 * @param index index of the test to be instantiated
72 * @return an instantiated TestData object, ready to provide settings and cas es for
73 * the tests.
74 */
75 virtual TestData* createTestData(int32_t index, UErrorCode &status) const = 0;
76
77 /** Create a test data object from a name.
78 * @param name name of the test to be instantiated
79 * @return an instantiated TestData object, ready to provide settings and cas es for
80 * the tests.
81 */
82 virtual TestData* createTestData(const char* name, UErrorCode &status) const = 0;
83 };
84
85 class T_CTEST_EXPORT_API RBTestDataModule : public TestDataModule {
86 public:
87 virtual ~RBTestDataModule();
88
89 public:
90 RBTestDataModule(const char* name, TestLog& log, UErrorCode& status);
91
92 public:
93 virtual UBool getInfo(const DataMap *& info, UErrorCode &status) const;
94
95 virtual TestData* createTestData(int32_t index, UErrorCode &status) const;
96 virtual TestData* createTestData(const char* name, UErrorCode &status) const;
97
98 private:
99 UResourceBundle *getTestBundle(const char* bundleName, UErrorCode &status);
100
101 private:
102 UResourceBundle *fModuleBundle;
103 UResourceBundle *fTestData;
104 UResourceBundle *fInfoRB;
105 UBool fDataTestValid;
106 char *tdpath;
107
108 /* const char* fTestName;*/ /* See name */
109 int32_t fNumberOfTests;
110
111 };
112
113
114 #endif
115
OLDNEW
« no previous file with comments | « icu46/source/tools/ctestfw/unicode/testtype.h ('k') | icu46/source/tools/ctestfw/unicode/uperf.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698