1/********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2003, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7#ifndef RESOURCEBUNDLETEST_H
8#define RESOURCEBUNDLETEST_H
9
10#include "intltest.h"
11
12/**
13 * Tests for class ResourceBundle
14 **/
15class ResourceBundleTest: public IntlTest {
16public:
17    ResourceBundleTest();
18    virtual ~ResourceBundleTest();
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 TestExemplar(void);
32
33    void TestGetSize(void);
34    void TestGetLocaleByType(void);
35
36private:
37    /**
38     * The assignment operator has no real implementation.
39     * It is provided to make the compiler happy. Do not call.
40     */
41    ResourceBundleTest& operator=(const ResourceBundleTest&) { return *this; }
42
43    /**
44     * extensive subtests called by TestResourceBundles
45     **/
46    UBool testTag(const char* frag, UBool in_Root, UBool in_te, UBool in_te_IN);
47
48    void record_pass(UnicodeString passMessage);
49    void record_fail(UnicodeString errMessage);
50
51    int32_t pass;
52    int32_t fail;
53};
54
55#endif
56