1a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson/*
2a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * Licensed to the Apache Software Foundation (ASF) under one or more
3a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * contributor license agreements.  See the NOTICE file distributed with
4a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * this work for additional information regarding copyright ownership.
5a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0
6a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * (the "License"); you may not use this file except in compliance with
7a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * the License.  You may obtain a copy of the License at
8a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson *
9a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson *     http://www.apache.org/licenses/LICENSE-2.0
10a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson *
11a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * Unless required by applicable law or agreed to in writing, software
12a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
13a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * See the License for the specific language governing permissions and
15a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * limitations under the License.
16a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson */
17a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
18a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonpackage libcore.java.text;
19a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
20a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.CollationElementIterator;
21a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.Collator;
22a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.RuleBasedCollator;
23a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.util.Locale;
24a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport junit.framework.TestCase;
25a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
26a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonpublic class OldCollationElementIteratorTest extends TestCase {
27a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
28a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    public void testPrevious() {
29a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        RuleBasedCollator coll = (RuleBasedCollator) Collator.getInstance(Locale.US);
30a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        String text = "abc";
31a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        CollationElementIterator iterator = coll
32a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson                .getCollationElementIterator(text);
33a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        int[] orders = new int[text.length()];
34a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        int order = iterator.next();
35a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        int i = 0;
36a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        while (order != CollationElementIterator.NULLORDER) {
37a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            orders[i++] = order;
38a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            order = iterator.next();
39a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        }
40a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
41a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        int offset = iterator.getOffset();
42a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        assertEquals(text.length(), offset);
43a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        order = iterator.previous();
44a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
45a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        while (order != CollationElementIterator.NULLORDER) {
46a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            assertEquals(orders[--i], order);
47a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            order = iterator.previous();
48a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        }
49a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
50a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        assertEquals(0, iterator.getOffset());
51a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    }
52a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson}
53