]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-52_1/main/tests/core/src/com/ibm/icu/dev/test/bidi/TestReorderArabicMathSymbols.java
Clean up imports.
[Dictionary.git] / jars / icu4j-52_1 / main / tests / core / src / com / ibm / icu / dev / test / bidi / TestReorderArabicMathSymbols.java
1 /*
2  *******************************************************************************
3  * Copyright (C) 2012, International Business Machines Corporation and         *
4  * others. All Rights Reserved.                                                *
5  *******************************************************************************
6  */
7 package com.ibm.icu.dev.test.bidi;
8
9 import com.ibm.icu.text.Bidi;
10
11
12 /**
13  * Regression test for the Arabic Mathematical Alphabetic Symbols.
14  *
15  * Ported from C by Ramy Said
16  */
17
18 public class TestReorderArabicMathSymbols extends BidiTest {
19
20     private static final String[] logicalOrder = {
21         /* Arabic mathematical Symbols "\u1EE00 - "\u1EE1B */
22         "\uD83B\uDE00\uD83B\uDE01\uD83B\uDE02\uD83B\uDE03\u0020" + 
23         "\uD83B\uDE24\uD83B\uDE05\uD83B\uDE06\u0020" + 
24         "\uD83B\uDE07\uD83B\uDE08\uD83B\uDE09\u0020" + 
25         "\uD83B\uDE0A\uD83B\uDE0B\uD83B\uDE0C\uD83B\uDE0D\u0020" + 
26         "\uD83B\uDE0E\uD83B\uDE0F\uD83B\uDE10\uD83B\uDE11\u0020" + 
27         "\uD83B\uDE12\uD83B\uDE13\uD83B\uDE14\uD83B\uDE15\u0020" + 
28         "\uD83B\uDE16\uD83B\uDE17\uD83B\uDE18\u0020" + 
29         "\uD83B\uDE19\uD83B\uDE1A\uD83B\uDE1B",
30         /* Arabic mathematical Symbols - Looped Symbols\u1EE80 - "\u1EE9B */
31         "\uD83B\uDE80\uD83B\uDE81\uD83B\uDE82\uD83B\uDE83\u0020" + 
32         "\uD83B\uDE84\uD83B\uDE85\uD83B\uDE86\u0020" + 
33         "\uD83B\uDE87\uD83B\uDE88\uD83B\uDE89\u0020" + 
34         "\uD83B\uDE8B\uD83B\uDE8C\uD83B\uDE8D\u0020" + 
35         "\uD83B\uDE8E\uD83B\uDE8F\uD83B\uDE90\uD83B\uDE91\u0020" + 
36         "\uD83B\uDE92\uD83B\uDE93\uD83B\uDE94\uD83B\uDE95\u0020" + 
37         "\uD83B\uDE96\uD83B\uDE97\uD83B\uDE98\u0020" + 
38         "\uD83B\uDE99\uD83B\uDE9A\uD83B\uDE9B",
39         /* Arabic mathematical Symbols - Double-struck Symbols\u1EEA1 - "\u1EEBB */
40         "\uD83B\uDEA1\uD83B\uDEA2\uD83B\uDEA3\u0020" + 
41         "\uD83B\uDEA5\uD83B\uDEA6\u0020" + 
42         "\uD83B\uDEA7\uD83B\uDEA8\uD83B\uDEA9\u0020" + 
43         "\uD83B\uDEAB\uD83B\uDEAC\uD83B\uDEAD\u0020" + 
44         "\uD83B\uDEAE\uD83B\uDEAF\uD83B\uDEB0\uD83B\uDEB1\u0020" + 
45         "\uD83B\uDEB2\uD83B\uDEB3\uD83B\uDEB4\uD83B\uDEB5\u0020" + 
46         "\uD83B\uDEB6\uD83B\uDEB7\uD83B\uDEB8\u0020" + 
47         "\uD83B\uDEB9\uD83B\uDEBA\uD83B\uDEBB",
48         /* Arabic mathematical Symbols - Initial Symbols\u1EE21 - "\u1EE3B */
49         "\uD83B\uDE21\uD83B\uDE22\u0020" + 
50         "\uD83B\uDE27\uD83B\uDE29\u0020" + 
51         "\uD83B\uDE2A\uD83B\uDE2B\uD83B\uDE2C\uD83B\uDE2D\u0020" + 
52         "\uD83B\uDE2E\uD83B\uDE2F\uD83B\uDE30\uD83B\uDE31\u0020" + 
53         "\uD83B\uDE32\uD83B\uDE34\uD83B\uDE35\u0020" + 
54         "\uD83B\uDE36\uD83B\uDE37\u0020" + 
55         "\uD83B\uDE39\uD83B\uDE3B",
56         /* Arabic mathematical Symbols - Tailed Symbols */
57         "\uD83B\uDE42\uD83B\uDE47\uD83B\uDE49\uD83B\uDE4B\u0020" + 
58         "\uD83B\uDE4D\uD83B\uDE4E\uD83B\uDE4F\u0020" + 
59         "\uD83B\uDE51\uD83B\uDE52\uD83B\uDE54\uD83B\uDE57\u0020" + 
60         "\uD83B\uDE59\uD83B\uDE5B\uD83B\uDE5D\uD83B\uDE5F"
61     };
62
63     private static final String[] visualOrder = {
64         /* Arabic mathematical Symbols "\u1EE00 - "\u1EE1B */
65         "\uD83B\uDE1B\uD83B\uDE1A\uD83B\uDE19\u0020" +    
66         "\uD83B\uDE18\uD83B\uDE17\uD83B\uDE16\u0020" +    
67         "\uD83B\uDE15\uD83B\uDE14\uD83B\uDE13\uD83B\uDE12\u0020" +
68         "\uD83B\uDE11\uD83B\uDE10\uD83B\uDE0F\uD83B\uDE0E\u0020" +
69         "\uD83B\uDE0D\uD83B\uDE0C\uD83B\uDE0B\uD83B\uDE0A\u0020" +
70         "\uD83B\uDE09\uD83B\uDE08\uD83B\uDE07\u0020" +    
71         "\uD83B\uDE06\uD83B\uDE05\uD83B\uDE24\u0020" +    
72         "\uD83B\uDE03\uD83B\uDE02\uD83B\uDE01\uD83B\uDE00",
73         /* Arabic mathematical Symbols - Looped Symbols\u1EE80 - "\u1EE9B */
74         "\uD83B\uDE9B\uD83B\uDE9A\uD83B\uDE99\u0020" +    
75         "\uD83B\uDE98\uD83B\uDE97\uD83B\uDE96\u0020" +    
76         "\uD83B\uDE95\uD83B\uDE94\uD83B\uDE93\uD83B\uDE92\u0020" +
77         "\uD83B\uDE91\uD83B\uDE90\uD83B\uDE8F\uD83B\uDE8E\u0020" +
78         "\uD83B\uDE8D\uD83B\uDE8C\uD83B\uDE8B\u0020" +    
79         "\uD83B\uDE89\uD83B\uDE88\uD83B\uDE87\u0020" +    
80         "\uD83B\uDE86\uD83B\uDE85\uD83B\uDE84\u0020" +    
81         "\uD83B\uDE83\uD83B\uDE82\uD83B\uDE81\uD83B\uDE80",
82         /* Arabic mathematical Symbols - Double-struck Symbols\u1EEA1 - "\u1EEBB */
83         "\uD83B\uDEBB\uD83B\uDEBA\uD83B\uDEB9\u0020" +    
84         "\uD83B\uDEB8\uD83B\uDEB7\uD83B\uDEB6\u0020" +    
85         "\uD83B\uDEB5\uD83B\uDEB4\uD83B\uDEB3\uD83B\uDEB2\u0020" +
86         "\uD83B\uDEB1\uD83B\uDEB0\uD83B\uDEAF\uD83B\uDEAE\u0020" +
87         "\uD83B\uDEAD\uD83B\uDEAC\uD83B\uDEAB\u0020" +    
88         "\uD83B\uDEA9\uD83B\uDEA8\uD83B\uDEA7\u0020" +    
89         "\uD83B\uDEA6\uD83B\uDEA5\u0020" +            
90         "\uD83B\uDEA3\uD83B\uDEA2\uD83B\uDEA1",
91         /* Arabic mathematical Symbols - Initial Symbols\u1EE21 - "\u1EE3B */
92         "\uD83B\uDE3B\uD83B\uDE39\u0020" +            
93         "\uD83B\uDE37\uD83B\uDE36\u0020" +            
94         "\uD83B\uDE35\uD83B\uDE34\uD83B\uDE32\u0020" +    
95         "\uD83B\uDE31\uD83B\uDE30\uD83B\uDE2F\uD83B\uDE2E\u0020" +
96         "\uD83B\uDE2D\uD83B\uDE2C\uD83B\uDE2B\uD83B\uDE2A\u0020" +
97         "\uD83B\uDE29\uD83B\uDE27\u0020" +            
98         "\uD83B\uDE22\uD83B\uDE21",
99         /* Arabic mathematical Symbols - Tailed Symbols */
100         "\uD83B\uDE5F\uD83B\uDE5D\uD83B\uDE5B\uD83B\uDE59\u0020" +
101         "\uD83B\uDE57\uD83B\uDE54\uD83B\uDE52\uD83B\uDE51\u0020" +
102         "\uD83B\uDE4F\uD83B\uDE4E\uD83B\uDE4D\u0020" +    
103         "\uD83B\uDE4B\uD83B\uDE49\uD83B\uDE47\uD83B\uDE42"
104     };
105
106     public void testReorderArabicMathSymbols() {
107         Bidi bidi = new Bidi();
108         int testNumber;
109         int nTests = logicalOrder.length;
110         String srcU16, dest = "";
111
112         logln("\nEntering TestReorderArabicMathSymbols\n");
113
114         for (testNumber = 0; testNumber < nTests; testNumber++) {
115             logln("Testing L2V #1 for case " + testNumber);
116             srcU16 = logicalOrder[testNumber];
117             try {
118                 bidi.setPara(srcU16, Bidi.LEVEL_DEFAULT_LTR, null);
119             } catch (Exception e) {
120                 errln("Bidi.setPara(tests[" + testNumber + "], paraLevel " +
121                       Bidi.LEVEL_DEFAULT_LTR + " failed.");
122             }
123             try {
124                 dest = bidi.writeReordered(Bidi.DO_MIRRORING);
125             } catch (Exception e) {
126                 errln("Bidi.writeReordered(tests[" + testNumber + "], paraLevel " +
127                       Bidi.LEVEL_DEFAULT_LTR + " failed.");
128             }
129             if (!visualOrder[testNumber].equals(dest)) {
130                 assertEquals("Failure #1 in Bidi.writeReordered(), test number " +
131                              testNumber, visualOrder[testNumber], dest, srcU16, null,
132                              "Bidi.DO_MIRRORING", "Bidi.LEVEL_DEFAULT_LTR");
133             }
134         }
135         
136         logln("\nExiting TestReorderArabicMathSymbols\n");
137     }
138     
139     public static void main(String[] args) {
140         try {
141             new TestReorderArabicMathSymbols().run(args);
142         }
143         catch (Exception e) {
144             System.out.println(e);
145         }
146     }
147
148 }