/*
**********************************************************************
*   Copyright (C) 2001, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   05/23/00    aliu        Creation.
**********************************************************************
*/
#include "unicode/unicode.h"
#include "unicode/unistr.h"
#include "testutil.h"

struct Split {
    UChar ch;
    int8_t i1;
    int8_t i2;
};

static const Split gTestUtilitySplit[] = {
    {0x0250, 4, 5}, // -1
    {0x02B0, 5, 6}, // -2
    {0x0370, 7, 8}, // -3
    {0x0530, 0, 10}, // -4
    {0x0590, 10, 11}, // -5
    {0x0750, 13, 0}, // -6
    {0x07C0, 14, 0}, // -7
    {0x10A0, 28, 29}, // -8
    {0x13A0, 0, 32}, // -9
    {0x16A0, 34, 35}, // -10
    {0x18B0, 37, 0}, // -11
    {0x2070, 40, 41}, // -12
    {0x20A0, 41, -31}, // -13
    {0x2150, 44, 45}, // -14
    {0x2190, 45, 46}, // -15
    {0x2440, 49, -32}, // -16
    {0x25A0, 53, 54}, // -17
    {0x27C0, 56, 0}, // -18
    {0x2FE0, 59, -33}, // -19
    {0x3040, 61, 62}, // -20
    {0x30A0, 62, 63}, // -21
    {0x3130, 64, 65}, // -22
    {0x3190, 65, -34}, // -23
    {0x4DB6, 70, 0}, // -24
    {0xA490, 72, -35}, // -25
    {0xD7A4, 74, 0}, // -26
    {0xFB50, 80, 81}, // -27
    {0xFE20, 0, -36}, // -28
    {0xFEFF, 85, 86}, // -29
    {0xFFF0, 87, -37}, // -30
    {0x20D0, 42, 43}, // -31
    {0x2460, 50, 51}, // -32
    {0x2FF0, 0, 60}, // -33
    {0x31A0, 66, -38}, // -34
    {0xA4D0, 73, 0}, //-35
    {0xFE30, 82, -39}, //-36
    {0xFFFE, 88, 0}, //-37
    {0x31C0, 67, 0}, // -38
    {0xFE50, 83, -40}, //-39
    {0xFE70, 84, 85} // -40
};

int8_t TestUtility::getBlock(UChar c) {
  int8_t block = charToBlock[((uint16_t)c) >> 7];
  while (block < 0) { // take care of exceptions, blocks split across 128 boundaries
      const Split *tuple = &gTestUtilitySplit[-block-1];
      if (c < tuple->ch)
          return tuple->i1; // Always positive or == 0
      else
          block = tuple->i2;
  }
  return block;
}

// returns next letter of script, or 0xFFFF if done

UChar TestUtility::getNextLetter(UChar c, int8_t script) {
    while (c < 0xFFFF) {
        ++c;
        if (getScript(c) == script && Unicode::isLetter(c)) {
            return c;
        }
    }
    return c;
}

static const UChar HEX[16]={48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70};

UnicodeString TestUtility::hex(UChar ch) {
    UnicodeString buf;
    buf.append(HEX[0xF&(ch>>12)]);
    buf.append(HEX[0xF&(ch>>8)]);
    buf.append(HEX[0xF&(ch>>4)]);
    buf.append(HEX[0xF&ch]);
    return buf;
}

UnicodeString TestUtility::hex(const UnicodeString& s) {
    return hex(s, 44 /*,*/);
}

UnicodeString TestUtility::hex(const UnicodeString& s, UChar sep) {
    if (s.length() == 0) return "";
    UnicodeString result = hex(s.charAt(0));
    for (int32_t i = 1; i < s.length(); ++i) {
        result.append(sep);
        result.append(hex(s.charAt(i)));
    }
    return result;
}

const int8_t TestUtility::blockToScript[] = {
    COMMON_SCRIPT, // 0, <RESERVED_BLOCK>
    LATIN_SCRIPT, // 1, BASIC_LATIN
    LATIN_SCRIPT, // 2, LATIN_1_SUPPLEMENT
    LATIN_SCRIPT, // 3, LATIN_EXTENDED_A
    LATIN_SCRIPT, // 4, LATIN_EXTENDED_B
    LATIN_SCRIPT, // 5, IPA_EXTENSIONS
    COMMON_SCRIPT, // 6, SPACING_MODIFIER_LETTERS
    COMMON_SCRIPT, // 7, COMBINING_DIACRITICAL_MARKS
    GREEK_SCRIPT, // 8, GREEK
    CYRILLIC_SCRIPT, // 9, CYRILLIC
    ARMENIAN_SCRIPT, // 10, ARMENIAN
    HEBREW_SCRIPT, // 11, HEBREW
    ARABIC_SCRIPT, // 12, ARABIC
    SYRIAC_SCRIPT, // 13, SYRIAC
    THAANA_SCRIPT, // 14, THAANA
    DEVANAGARI_SCRIPT, // 15, DEVANAGARI
    BENGALI_SCRIPT, // 16, BENGALI
    GURMUKHI_SCRIPT, // 17, GURMUKHI
    GUJARATI_SCRIPT, // 18, GUJARATI
    ORIYA_SCRIPT, // 19, ORIYA
    TAMIL_SCRIPT, // 20, TAMIL
    TELUGU_SCRIPT, // 21, TELUGU
    KANNADA_SCRIPT, // 22, KANNADA
    MALAYALAM_SCRIPT, // 23, MALAYALAM
    SINHALA_SCRIPT, // 24, SINHALA
    THAI_SCRIPT, // 25, THAI
    LAO_SCRIPT, // 26, LAO
    TIBETAN_SCRIPT, // 27, TIBETAN
    MYANMAR_SCRIPT, // 28, MYANMAR
    GEORGIAN_SCRIPT, // 29, GEORGIAN
    JAMO_SCRIPT, // 30, HANGUL_JAMO
    ETHIOPIC_SCRIPT, // 31, ETHIOPIC
    CHEROKEE_SCRIPT, // 32, CHEROKEE
    ABORIGINAL_SCRIPT, // 33, UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
    OGHAM_SCRIPT, // 34, OGHAM
    RUNIC_SCRIPT, // 35, RUNIC
    KHMER_SCRIPT, // 36, KHMER
    MONGOLIAN_SCRIPT, // 37, MONGOLIAN
    LATIN_SCRIPT, // 38, LATIN_EXTENDED_ADDITIONAL
    GREEK_SCRIPT, // 39, GREEK_EXTENDED
    COMMON_SCRIPT, // 40, GENERAL_PUNCTUATION
    COMMON_SCRIPT, // 41, SUPERSCRIPTS_AND_SUBSCRIPTS
    COMMON_SCRIPT, // 42, CURRENCY_SYMBOLS
    COMMON_SCRIPT, // 43, COMBINING_MARKS_FOR_SYMBOLS
    COMMON_SCRIPT, // 44, LETTERLIKE_SYMBOLS
    COMMON_SCRIPT, // 45, NUMBER_FORMS
    COMMON_SCRIPT, // 46, ARROWS
    COMMON_SCRIPT, // 47, MATHEMATICAL_OPERATORS
    COMMON_SCRIPT, // 48, MISCELLANEOUS_TECHNICAL
    COMMON_SCRIPT, // 49, CONTROL_PICTURES
    COMMON_SCRIPT, // 50, OPTICAL_CHARACTER_RECOGNITION
    COMMON_SCRIPT, // 51, ENCLOSED_ALPHANUMERICS
    COMMON_SCRIPT, // 52, BOX_DRAWING
    COMMON_SCRIPT, // 53, BLOCK_ELEMENTS
    COMMON_SCRIPT, // 54, GEOMETRIC_SHAPES
    COMMON_SCRIPT, // 55, MISCELLANEOUS_SYMBOLS
    COMMON_SCRIPT, // 56, DINGBATS
    COMMON_SCRIPT, // 57, BRAILLE_PATTERNS
    HAN_SCRIPT, // 58, CJK_RADICALS_SUPPLEMENT
    HAN_SCRIPT, // 59, KANGXI_RADICALS
    HAN_SCRIPT, // 60, IDEOGRAPHIC_DESCRIPTION_CHARACTERS
    COMMON_SCRIPT, // 61, CJK_SYMBOLS_AND_PUNCTUATION
    HIRAGANA_SCRIPT, // 62, HIRAGANA
    KATAKANA_SCRIPT, // 63, KATAKANA
    BOPOMOFO_SCRIPT, // 64, BOPOMOFO
    JAMO_SCRIPT, // 65, HANGUL_COMPATIBILITY_JAMO
    HAN_SCRIPT, // 66, KANBUN
    BOPOMOFO_SCRIPT, // 67, BOPOMOFO_EXTENDED
    COMMON_SCRIPT, // 68, ENCLOSED_CJK_LETTERS_AND_MONTHS
    COMMON_SCRIPT, // 69, CJK_COMPATIBILITY
    HAN_SCRIPT, // 70, CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
    HAN_SCRIPT, // 71, CJK_UNIFIED_IDEOGRAPHS
    YI_SCRIPT, // 72, YI_SYLLABLES
    YI_SCRIPT, // 73, YI_RADICALS
    HANGUL_SCRIPT, // 74, HANGUL_SYLLABLES
    COMMON_SCRIPT, // 75, HIGH_SURROGATES
    COMMON_SCRIPT, // 76, HIGH_PRIVATE_USE_SURROGATES
    COMMON_SCRIPT, // 77, LOW_SURROGATES
    COMMON_SCRIPT, // 78, PRIVATE_USE
    HAN_SCRIPT, // 79, CJK_COMPATIBILITY_IDEOGRAPHS
    COMMON_SCRIPT, // 80, ALPHABETIC_PRESENTATION_FORMS
    ARABIC_SCRIPT, // 81, ARABIC_PRESENTATION_FORMS_A
    COMMON_SCRIPT, // 82, COMBINING_HALF_MARKS
    COMMON_SCRIPT, // 83, CJK_COMPATIBILITY_FORMS
    COMMON_SCRIPT, // 84, SMALL_FORM_VARIANTS
    ARABIC_SCRIPT, // 85, ARABIC_PRESENTATION_FORMS_B
    COMMON_SCRIPT, // 86, SPECIALS
    COMMON_SCRIPT, // 87, HALFWIDTH_AND_FULLWIDTH_FORMS
    COMMON_SCRIPT, // 88, SPECIALS
};

const int8_t TestUtility::charToBlock[] = {
  1, 2, 3, 4, -1, -2, -3, 8, 9, 9, -4, -5, 12, 12, -6, -7,
  0, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 27,
  28, -8, 30, 30, 31, 31, 31, -9, 33, 33, 33, 33, 33, -10, 0, 36,
  37, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 39, 39,
  -12, -13, -14, -15, 47, 47, 48, 48, -16, 51, 52, -17, 55, 55, 56, -18,
  57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, -19,
  -20, -21, -22, -23, 68, 68, 69, 69, 70, 70, 70, 70, 70, 70, 70, 70,
  70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, -24, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
  72, 72, 72, 72, 72, 72, 72, 72, 72, -25, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 74, 74, 74, 74, 74, 74, 74, 74,
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, -26,
  75, 75, 75, 75, 75, 75, 75, 76, 77, 77, 77, 77, 77, 77, 77, 77,
  78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
  78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
  78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
  78, 78, 79, 79, 79, 79, -27, 81, 81, 81, 81, 81, -28, -29, 87, -30
};
