1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/**
4 *******************************************************************************
5 * Copyright (C) 2001-2003, International Business Machines Corporation and    *
6 * others. All Rights Reserved.                                                *
7 *******************************************************************************
8 *
9 *******************************************************************************
10 */
11
12#ifndef ICUSVTST_H
13#define ICUSVTST_H
14
15#include "unicode/utypes.h"
16
17#if !UCONFIG_NO_SERVICE
18
19#include "intltest.h"
20
21class Integer;
22
23class ICUServiceTest : public IntlTest
24{
25 public:
26  ICUServiceTest();
27  virtual ~ICUServiceTest();
28
29  void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL);
30
31  void testAPI_One(void);
32  void testAPI_Two(void);
33  void testRBF(void);
34  void testNotification(void);
35  void testLocale(void);
36  void testWrapFactory(void);
37  void testCoverage(void);
38
39 private:
40  UnicodeString& lrmsg(UnicodeString& result, const UnicodeString& message, const UObject* lhs, const UObject* rhs) const;
41  void confirmBoolean(const UnicodeString& message, UBool val);
42#if 0
43  void confirmEqual(const UnicodeString& message, const UObject* lhs, const UObject* rhs);
44#else
45  void confirmEqual(const UnicodeString& message, const Integer* lhs, const Integer* rhs);
46  void confirmEqual(const UnicodeString& message, const UnicodeString* lhs, const UnicodeString* rhs);
47  void confirmEqual(const UnicodeString& message, const Locale* lhs, const Locale* rhs);
48#endif
49  void confirmStringsEqual(const UnicodeString& message, const UnicodeString& lhs, const UnicodeString& rhs);
50  void confirmIdentical(const UnicodeString& message, const UObject* lhs, const UObject* rhs);
51  void confirmIdentical(const UnicodeString& message, int32_t lhs, int32_t rhs);
52
53  void msgstr(const UnicodeString& message, UObject* obj, UBool err = TRUE);
54  void logstr(const UnicodeString& message, UObject* obj) {
55        msgstr(message, obj, FALSE);
56  }
57};
58
59
60/* UCONFIG_NO_SERVICE */
61#endif
62
63/* ICUSVTST_H */
64#endif
65