1/********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2003, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7#ifndef NEW_RESOURCEBUNDLETEST_H
8#define NEW_RESOURCEBUNDLETEST_H
9
10#include "intltest.h"
11
12/**
13 * Tests for class ResourceBundle
14 **/
15class NewResourceBundleTest: public IntlTest {
16public:
17    NewResourceBundleTest();
18    virtual ~NewResourceBundleTest();
19
20    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
21
22    /**
23     * Perform several extensive tests using the subtest routine testTag
24     **/
25    void TestResourceBundles(void);
26    /**
27     * Test construction of ResourceBundle accessing a custom test resource-file
28     **/
29    void TestConstruction(void);
30
31    void TestIteration(void);
32
33    void TestOtherAPI(void);
34
35    void TestNewTypes(void);
36
37    void TestGetByFallback(void);
38
39private:
40    /**
41     * The assignment operator has no real implementation.
42     * It is provided to make the compiler happy. Do not call.
43     */
44    NewResourceBundleTest& operator=(const NewResourceBundleTest&) { return *this; }
45
46    /**
47     * extensive subtests called by TestResourceBundles
48     **/
49    UBool testTag(const char* frag, UBool in_Root, UBool in_te, UBool in_te_IN);
50
51    void record_pass(void);
52    void record_fail(void);
53
54    int32_t pass;
55    int32_t fail;
56
57};
58
59#endif
60