blob: 3e93d5b2cd0066617f50c18d8ab30076fdfd5fb5 [file] [log] [blame]
/********************************************************************
* COPYRIGHT:
* Copyright (c) 1997-2001, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
/**
* MajorTestLevel is the top level test class for everything in the directory "IntlWork".
*/
#ifndef _CINTLTSTDATADRIVENCOLLATOR
#define _CINTLTSTDATADRIVENCOLLATOR
#include "cintltst.h"
void addDataDrivenTest(TestNode** root);
U_CFUNC void closeDataDrivenCollatorTest(void);
#if 0
class DataDrivenCollatorTest: public IntlTestCollator {
void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL );
public:
DataDrivenCollatorTest();
~DataDrivenCollatorTest();
protected:
// These two should probably go down in IntlTest
const char* loadTestData(UErrorCode& err);
UResourceBundle* getTestBundle(const char* bundleName);
void DataDrivenTest(char *par);
void processReadyCollator(UResourceBundle *test, Collator *col, UErrorCode &status);
void processCollatorTests(UResourceBundle *test, Collator *col, UErrorCode &status);
void processTest(UResourceBundle *test, UErrorCode &status);
void processArguments(Collator *col, const UChar *start, int32_t optLen, UErrorCode &status);
UBool setTestSequence(const UnicodeString &setSequence, UnicodeString &source, Collator::EComparisonResult &relation, UErrorCode &status);
UBool getNextInSequence(UnicodeString &source, Collator::EComparisonResult &relation, UErrorCode &status);
void processSequence(Collator* col, const UnicodeString &sequence, UErrorCode &status);
private:
StringCharacterIterator seq;
UResourceBundle *testBundle;
UResourceBundle *testData;
UResourceBundle *currentTest;
UResourceBundle *purpose;
UResourceBundle *parsing;
int32_t numberOfTests;
UBool dataTestValid;
};
#endif
#endif