17935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/*
27935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*******************************************************************************
37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*   Copyright (C) 2007-2010, International Business Machines
47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*   Corporation and others.  All Rights Reserved.
57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*******************************************************************************
67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*/
77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.dev.test.bidi;
97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.impl.Utility;
117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.lang.UCharacter;
127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.lang.UCharacterDirection;
137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/**
157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Regression test for Bidi charFromDirProp
167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert *
177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @author Lina Kemmel, Matitiahu Allouche
187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */
197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic class TestCharFromDirProp extends BidiTest {
217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    /* verify that the exemplar characters have the expected bidi classes */
237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public void testCharFromDirProp() {
247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        logln("\nEntering TestCharFromDirProp");
267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        int i = UCharacterDirection.CHAR_DIRECTION_COUNT;
277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        while (i-- > 0) {
287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            char c = charFromDirProp[i];
297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            int dir = UCharacter.getDirection(c);
307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            assertEquals("UCharacter.getDirection(TestData.charFromDirProp[" + i
317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert                    + "] == U+" + Utility.hex(c) + ") failed", i, dir);
327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        logln("\nExiting TestCharFromDirProp");
347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    public static void main(String[] args) {
377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        try {
387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            new TestCharFromDirProp().run(args);
397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        catch (Exception e) {
417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert            System.out.println(e);
427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        }
437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    }
447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert}
45