174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes/*
2994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more
3994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * contributor license agreements.  See the NOTICE file distributed with
4994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * this work for additional information regarding copyright ownership.
5994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0
6994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * (the "License"); you may not use this file except in compliance with
7994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * the License.  You may obtain a copy of the License at
874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes *
9994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
1074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes *
11994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Unless required by applicable law or agreed to in writing, software
12994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS,
13994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * See the License for the specific language governing permissions and
15994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * limitations under the License.
16994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */
17994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes
18994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughespackage org.apache.harmony.tests.java.text;
19994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes
20994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.text.CollationElementIterator;
21994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.text.Collator;
22994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.text.RuleBasedCollator;
23994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.text.StringCharacterIterator;
24994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.util.Locale;
25994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes
26994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport junit.framework.TestCase;
27994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes
28994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes/**
29994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Test CollationElementIterator
3074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes *
31994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Only test normal condition.
3274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes *
33994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */
34994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughespublic class CollationElementIteratorTest extends TestCase {
35994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes
3674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  private RuleBasedCollator coll;
373df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally  private RuleBasedCollator traditionalSpanishColl;
3874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
3974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  protected void setUp() {
4074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    coll = (RuleBasedCollator) Collator.getInstance(Locale.US);
413df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally    traditionalSpanishColl = (RuleBasedCollator)
423df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally            Collator.getInstance(Locale.forLanguageTag("es-u-co-trad"));
4374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
4474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
4574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testGetOffset() {
4674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "abc";
4774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = coll.getCollationElementIterator(text);
4874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int[] offsets = { 0, 1, 2, 3 };
4974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int offset = iterator.getOffset();
5074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int i = 0;
5174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(offsets[i++], offset);
5274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    while (offset != text.length()) {
5374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      iterator.next();
5474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      offset = iterator.getOffset();
5574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      assertEquals(offsets[i++], offset);
5674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    }
5774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
5874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
5974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testNext() {
6074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "abc";
6174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = coll.getCollationElementIterator(text);
6274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int[] orders = new int[text.length()];
6374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order = iterator.next();
6474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int i = 0;
6574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    while (order != CollationElementIterator.NULLORDER) {
6674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      orders[i++] = order;
6774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      order = iterator.next();
6874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    }
6974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
7074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int offset = iterator.getOffset();
7174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(text.length(), offset);
7255dfcd8b9609f112b0542af6a705080d98e00d2accornelius
7355dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.reset();
7474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    order = iterator.previous();
7574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
7674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    while (order != CollationElementIterator.NULLORDER) {
7774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      assertEquals(orders[--i], order);
7874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      order = iterator.previous();
7974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    }
8074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
8174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(0, iterator.getOffset());
8274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
8374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
8474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testPrevious() {
8574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    RuleBasedCollator coll = (RuleBasedCollator) Collator.getInstance(Locale.US);
8674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "abc";
8774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = coll
8874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes        .getCollationElementIterator(text);
8974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int[] orders = new int[text.length()];
9074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order = iterator.next();
9174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int i = 0;
9274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    while (order != CollationElementIterator.NULLORDER) {
9374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      orders[i++] = order;
9474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      order = iterator.next();
9574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    }
9674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
9774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int offset = iterator.getOffset();
9874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(text.length(), offset);
9955dfcd8b9609f112b0542af6a705080d98e00d2accornelius
10055dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.reset();
10174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    order = iterator.previous();
10274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
10374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    while (order != CollationElementIterator.NULLORDER) {
10474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      assertEquals(orders[--i], order);
10574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      order = iterator.previous();
10674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    }
10774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
10874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(0, iterator.getOffset());
10974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
11074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
11174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testReset() {
11274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "abc";
11374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = coll.getCollationElementIterator(text);
11474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int[] orders = new int[text.length()];
11574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order = iterator.next();
11674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int i = 0;
11774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    while (order != CollationElementIterator.NULLORDER) {
11874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      orders[i++] = order;
11974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      order = iterator.next();
12074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    }
12174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
12274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int offset = iterator.getOffset();
12374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(text.length(), offset);
12474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
12574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.reset();
12674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(0, iterator.getOffset());
12774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
12874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
12974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testGetMaxExpansion() {
13074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "cha";
131ee7d0c5bfcc6891034eaea0fa4a9571ffde5d2aeNarayan Kamath    RuleBasedCollator rbColl = (RuleBasedCollator) Collator.getInstance(
132ee7d0c5bfcc6891034eaea0fa4a9571ffde5d2aeNarayan Kamath            Locale.forLanguageTag("es-u-co-trad"));
13374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = rbColl.getCollationElementIterator(text);
13474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order = iterator.next();
13574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    while (order != CollationElementIterator.NULLORDER) {
13674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      assertEquals(1, iterator.getMaxExpansion(order));
13774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes      order = iterator.next();
13874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    }
13974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
14074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
14174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testPrimaryOrder() {
14274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    RuleBasedCollator rbColl = (RuleBasedCollator) Collator.getInstance(new Locale("de", "DE"));
14374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "\u00e6";
14474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = rbColl.getCollationElementIterator(text);
14574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order = iterator.next();
14674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int pOrder = CollationElementIterator.primaryOrder(order);
14774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator2 = rbColl.getCollationElementIterator("ae");
14874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order2 = iterator2.next();
14974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int pOrder2 = CollationElementIterator.primaryOrder(order2);
15074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(pOrder, pOrder2);
15174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
15274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
15374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testSecondaryOrder() {
15474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    RuleBasedCollator rbColl = (RuleBasedCollator) Collator.getInstance(new Locale("fr", "FR"));
15574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "a\u00e0";
15674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = rbColl.getCollationElementIterator(text);
15774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order = iterator.next();
15874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int sOrder1 = CollationElementIterator.secondaryOrder(order);
15974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
16074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    order = iterator.next();
16174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int sOrder2 = CollationElementIterator.secondaryOrder(order);
16274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
16374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(sOrder1, sOrder2);
16474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
16574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
16674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testTertiaryOrder() {
16774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    RuleBasedCollator rbColl = (RuleBasedCollator) Collator.getInstance(new Locale("fr", "FR"));
16874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "abAB";
16974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = rbColl.getCollationElementIterator(text);
17074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int order = iterator.next();
17174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int tOrder1 = CollationElementIterator.tertiaryOrder(order);
17274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    order = iterator.next();
17374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    int tOrder2 = CollationElementIterator.tertiaryOrder(order);
17474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(tOrder1, tOrder2);
17574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
17674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    order = iterator.next();
17774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    tOrder1 = CollationElementIterator.tertiaryOrder(order);
17874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    order = iterator.next();
17974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    tOrder2 = CollationElementIterator.tertiaryOrder(order);
18074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(tOrder1, tOrder2);
18174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
18274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
18374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testSetOffset() {
184ee7d0c5bfcc6891034eaea0fa4a9571ffde5d2aeNarayan Kamath    RuleBasedCollator rbColl = (RuleBasedCollator) Collator.getInstance(
185ee7d0c5bfcc6891034eaea0fa4a9571ffde5d2aeNarayan Kamath            Locale.forLanguageTag("es-u-co-trad"));
18674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "cha";
18774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    CollationElementIterator iterator = rbColl.getCollationElementIterator(text);
18855dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.setOffset(0);
18955dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(0, iterator.getOffset());
19074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.setOffset(1);
19155dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(0, iterator.getOffset());
19255dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.setOffset(2);
19355dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(2, iterator.getOffset());
19474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
19574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
19674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testSetTextString() {
19774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "caa";
1983df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally    CollationElementIterator iterator = traditionalSpanishColl.getCollationElementIterator(text);
19955dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.setOffset(0);
20055dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(0, iterator.getOffset());
20174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.setOffset(1);
20274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(1, iterator.getOffset());
20355dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.setOffset(2);
20455dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(2, iterator.getOffset());
20574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.setText("cha");
20655dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.setOffset(0);
20755dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(0, iterator.getOffset());
20874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.setOffset(1);
20955dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(0, iterator.getOffset());
21055dfcd8b9609f112b0542af6a705080d98e00d2accornelius    iterator.setOffset(2);
21155dfcd8b9609f112b0542af6a705080d98e00d2accornelius    assertEquals(2, iterator.getOffset());
21274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
21374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes
21474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  public void testSetTextCharacterIterator() {
21574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    String text = "caa";
2163df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally    CollationElementIterator iterator = traditionalSpanishColl.getCollationElementIterator(text);
21774473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.setOffset(1);
21874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    assertEquals(1, iterator.getOffset());
2193df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally    // In traditional spanish the "ch" acts as a single character so the iterator cannot stop
2203df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally    // between the 'c' and the 'h', it goes back if that is attempted.
22174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.setText(new StringCharacterIterator("cha"));
22274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes    iterator.setOffset(1);
2233df3bfcbad6f4da20964424c4772985d1b1586a1Rayhaan Jaufeerally    assertEquals(0, iterator.getOffset());
22474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes  }
225994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes}
226