1 // Copyright (C) 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 /** 10 * CollationFrenchTest is a third level test class. This tests the locale 11 * specific tertiary rules. For example, the French secondary sorting on 12 * accented characters. 13 */ 14 #ifndef _FRCOLL 15 #define _FRCOLL 16 17 #include "unicode/utypes.h" 18 19 #if !UCONFIG_NO_COLLATION 20 21 #include "tscoll.h" 22 23 class CollationFrenchTest: public IntlTestCollator { 24 public: 25 // If this is too small for the test data, just increase it. 26 // Just don't make it too large, otherwise the executable will get too big 27 enum EToken_Len { MAX_TOKEN_LEN = 16 }; 28 29 CollationFrenchTest(); 30 virtual ~CollationFrenchTest(); 31 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 32 33 // perform tests with strength SECONDARY 34 void TestSecondary(/* char* par */); 35 36 // perform tests with strength TERTIARY 37 void TestTertiary(/* char* par */); 38 39 // perform extra tests 40 void TestExtra(/* char* par */); 41 42 private: 43 static const UChar testSourceCases[][MAX_TOKEN_LEN]; 44 static const UChar testTargetCases[][MAX_TOKEN_LEN]; 45 static const UChar testBugs[][MAX_TOKEN_LEN]; 46 static const Collator::EComparisonResult results[]; 47 static const UChar testAcute[][MAX_TOKEN_LEN]; 48 49 Collator *myCollation; 50 }; 51 52 #endif /* #if !UCONFIG_NO_COLLATION */ 53 54 #endif 55