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