Esempio n. 1
0
        public void TestExhaustive()
        {
            int counter          = 0;
            CanonicalIterator it = new CanonicalIterator("");

            /*
             * CanonicalIterator slowIt = new CanonicalIterator("");
             * slowIt.SKIP_ZEROS = false;
             */
            //Transliterator name = Transliterator.getInstance("[^\\u0020-\\u007F] name");
            //Set itSet = new TreeSet();
            //Set slowItSet = new TreeSet();


            for (int i = 0; i < 0x10FFFF; ++i)
            {
                // skip characters we know don't have decomps
                UCharacterCategory type = UCharacter.GetType(i);
                if (type == UCharacterCategory.OtherNotAssigned || type == UCharacterCategory.PrivateUse ||
                    type == UCharacterCategory.Surrogate)
                {
                    continue;
                }

                if ((++counter % 5000) == 0)
                {
                    Logln("Testing " + Utility.Hex(i, 0));
                }

                string s = UTF16.ValueOf(i);
                CharacterTest(s, i, it);

                CharacterTest(s + "\u0345", i, it);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Converts a <see cref="UCharacterCategory"/> to an <see cref="int"/>.
 /// Same as <c>(int)<paramref name="characterCategory"/></c>.
 /// </summary>
 /// <param name="characterCategory">This <see cref="UCharacterCategory"/>.</param>
 /// <returns>This category as <see cref="int"/>.</returns>
 public static int ToInt32(this UCharacterCategory characterCategory) // ICU4N TODO: Add this extension to all main enums
 {
     return((int)characterCategory);
 }
Esempio n. 3
0
        /// <summary>
        /// Gets the name of the argument category.
        /// </summary>
        /// <param name="category">Category to retrieve name.</param>
        /// <returns>Category name.</returns>
        /// <stable>ICU 2.1</stable>
        // ICU4N NOTE: Since ToString() cannot be changed from the default on an Enum,
        // we have renamed this method AsString().
        public static string AsString(this UCharacterCategory category)
        {
            switch (category)
            {
            case UCharacterCategory.UppercaseLetter:
                return("Letter, Uppercase");

            case UCharacterCategory.LowercaseLetter:
                return("Letter, Lowercase");

            case UCharacterCategory.TitlecaseLetter:
                return("Letter, Titlecase");

            case UCharacterCategory.ModifierLetter:
                return("Letter, Modifier");

            case UCharacterCategory.OtherLetter:
                return("Letter, Other");

            case UCharacterCategory.NonSpacingMark:
                return("Mark, Non-Spacing");

            case UCharacterCategory.EnclosingMark:
                return("Mark, Enclosing");

            case UCharacterCategory.SpacingCombiningMark:
                return("Mark, Spacing Combining");

            case UCharacterCategory.DecimalDigitNumber:
                return("Number, Decimal Digit");

            case UCharacterCategory.LetterNumber:
                return("Number, Letter");

            case UCharacterCategory.OtherNumber:
                return("Number, Other");

            case UCharacterCategory.SpaceSeparator:
                return("Separator, Space");

            case UCharacterCategory.LineSeparator:
                return("Separator, Line");

            case UCharacterCategory.ParagraphSeparator:
                return("Separator, Paragraph");

            case UCharacterCategory.Control:
                return("Other, Control");

            case UCharacterCategory.Format:
                return("Other, Format");

            case UCharacterCategory.PrivateUse:
                return("Other, Private Use");

            case UCharacterCategory.Surrogate:
                return("Other, Surrogate");

            case UCharacterCategory.DashPunctuation:
                return("Punctuation, Dash");

            case UCharacterCategory.OpenPunctuation:
                return("Punctuation, Open");

            case UCharacterCategory.ClosePunctuation:
                return("Punctuation, Close");

            case UCharacterCategory.ConnectorPunctuation:
                return("Punctuation, Connector");

            case UCharacterCategory.OtherPunctuation:
                return("Punctuation, Other");

            case UCharacterCategory.MathSymbol:
                return("Symbol, Math");

            case UCharacterCategory.CurrencySymbol:
                return("Symbol, Currency");

            case UCharacterCategory.ModifierSymbol:
                return("Symbol, Modifier");

            case UCharacterCategory.OtherSymbol:
                return("Symbol, Other");

            case UCharacterCategory.InitialQuotePunctuation:
                return("Punctuation, Initial quote");

            case UCharacterCategory.FinalQuotePunctuation:
                return("Punctuation, Final quote");

            default:
                return("Unassigned");
            }
        }