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