1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/***********************************************************************
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * COPYRIGHT:
3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Copyright (c) 1997-2004, International Business Machines Corporation
4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * and others. All Rights Reserved.
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ***********************************************************************/
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * CollationDummyTest is a third level test class.  This tests creation of
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * a customized collator object.  For example, number 1 to be sorted
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * equlivalent to word 'one'.
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef _ALLCOLL
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define _ALLCOLL
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h"
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if !UCONFIG_NO_COLLATION
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/tblcoll.h"
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "tscoll.h"
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass CollationDummyTest: public IntlTestCollator {
24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querupublic:
25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // If this is too small for the test data, just increase it.
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // Just don't make it too large, otherwise the executable will get too big
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    enum EToken_Len { MAX_TOKEN_LEN = 16 };
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    CollationDummyTest();
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    virtual ~CollationDummyTest();
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par = NULL */);
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // perform test with strength PRIMARY
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestPrimary(/* char* par */);
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // perform test with strength SECONDARY
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestSecondary(/* char* par */);
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // perform test with strength tertiary
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestTertiary(/* char* par */);
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // perform extra tests
43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestExtra(/* char* par */);
44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestIdentical();
46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestJB581();
48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruprivate:
50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    static const  Collator::EComparisonResult results[];
51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    RuleBasedCollator *myCollation;
53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_COLLATION */
56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
58