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