Package org.apache.harmony.text.tests.java.text

Source Code of org.apache.harmony.text.tests.java.text.StringCharacterIteratorTest

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.harmony.text.tests.java.text;

import java.text.CharacterIterator;
import java.text.StringCharacterIterator;

import junit.framework.TestCase;

public class StringCharacterIteratorTest extends TestCase {

  /**
   * @tests java.text.StringCharacterIterator.StringCharacterIterator(String,
   *        int)
   */
  public void test_ConstructorI() {
    assertNotNull(new StringCharacterIterator("value", 0));
    assertNotNull(new StringCharacterIterator("value", "value".length()));
    assertNotNull(new StringCharacterIterator("", 0));
    try {
      new StringCharacterIterator(null, 0);
      fail("Assert 0: no null pointer");
    } catch (NullPointerException e) {
      // expected
    }

    try {
      new StringCharacterIterator("value", -1);
      fail("Assert 1: no illegal argument");
    } catch (IllegalArgumentException e) {
      // expected
    }

    try {
      new StringCharacterIterator("value", "value".length() + 1);
      fail("Assert 2: no illegal argument");
    } catch (IllegalArgumentException e) {
      // expected
    }
  }

  /**
   * @tests java.text.StringCharacterIterator(String, int, int, int)
   */
  public void test_ConstructorIII() {
    assertNotNull(new StringCharacterIterator("value", 0, "value".length(),
        0));
    assertNotNull(new StringCharacterIterator("value", 0, "value".length(),
        1));
    assertNotNull(new StringCharacterIterator("", 0, 0, 0));

    try {
      new StringCharacterIterator(null, 0, 0, 0);
      fail("no null pointer");
    } catch (NullPointerException e) {
      // Expected
    }

    try {
      new StringCharacterIterator("value", -1, "value".length(), 0);
      fail("no illegal argument: invalid begin");
    } catch (IllegalArgumentException e) {
      // Expected
    }

    try {
      new StringCharacterIterator("value", 0, "value".length() + 1, 0);
      fail("no illegal argument: invalid end");
    } catch (IllegalArgumentException e) {
      // Expected
    }

    try {
      new StringCharacterIterator("value", 2, 1, 0);
      fail("no illegal argument: start greater than end");
    } catch (IllegalArgumentException e) {
      // Expected
    }

    try {
      new StringCharacterIterator("value", 2, 1, 2);
      fail("no illegal argument: start greater than end");
    } catch (IllegalArgumentException e) {
      // Expected
    }

    try {
      new StringCharacterIterator("value", 2, 4, 1);
      fail("no illegal argument: location greater than start");
    } catch (IllegalArgumentException e) {
      // Expected
    }

    try {
      new StringCharacterIterator("value", 0, 2, 3);
      fail("no illegal argument: location greater than start");
    } catch (IllegalArgumentException e) {
      // Expected
    }
  }

  /**
   * @tests java.text.StringCharacterIterator.equals(Object)
   */
  public void test_equalsLjava_lang_Object() {
    StringCharacterIterator sci0 = new StringCharacterIterator("fixture");
    assertEquals(sci0, sci0);
    assertFalse(sci0.equals(null));
    assertFalse(sci0.equals("fixture"));

    StringCharacterIterator sci1 = new StringCharacterIterator("fixture");
    assertEquals(sci0, sci1);

    sci1.next();
    assertFalse(sci0.equals(sci1));
    sci0.next();
    assertEquals(sci0, sci1);
       
        StringCharacterIterator it1 = new StringCharacterIterator("testing", 2,
                6, 4);
        StringCharacterIterator it2 = new StringCharacterIterator("xxstinx", 2,
                6, 4);
        assertTrue("Range is equal", !it1.equals(it2));
        StringCharacterIterator it3 = new StringCharacterIterator("testing", 2,
                6, 2);
        it3.setIndex(4);
        assertTrue("Not equal", it1.equals(it3));
  }

  /**
   * @tests java.text.StringCharacterIterator.clone()
   */
  public void test_clone() {
    StringCharacterIterator sci0 = new StringCharacterIterator("fixture");
    assertSame(sci0, sci0);
    StringCharacterIterator sci1 = (StringCharacterIterator) sci0.clone();
    assertNotSame(sci0, sci1);
    assertEquals(sci0, sci1);
       
        StringCharacterIterator it = new StringCharacterIterator("testing", 2,
                6, 4);
        StringCharacterIterator clone = (StringCharacterIterator) it.clone();
        assertTrue("Clone not equal", it.equals(clone));
  }

  /**
   * @tests java.text.StringCharacterIterator.current()
   */
  public void test_current() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals('f', fixture.current());
    fixture.next();
    assertEquals('i', fixture.current());
       
                StringCharacterIterator it =
                    new StringCharacterIterator("testing", 2, 6, 4);
                assertEquals("Wrong current char", 'i', it.current());
  }

  /**
   * @tests java.text.StringCharacterIterator.first()
   */
  public void test_first() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals('f', fixture.first());
    fixture.next();
    assertEquals('f', fixture.first());
    fixture = new StringCharacterIterator("fixture", 1);
    assertEquals('f', fixture.first());
    fixture = new StringCharacterIterator("fixture", 1, "fixture".length(),
        2);
    assertEquals('i', fixture.first());
       
                StringCharacterIterator it1 =
                    new StringCharacterIterator("testing", 2, 6, 4);
                assertEquals("Wrong first char", 's', it1.first());
                assertEquals("Wrong next char", 't', it1.next());
                it1 = new StringCharacterIterator("testing", 2, 2, 2);
                assertTrue("Not DONE", it1.first() == CharacterIterator.DONE);
  }

  /**
   * @tests java.text.StringCharacterIterator.getBeginIndex()
   */
  public void test_getBeginIndex() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals(0, fixture.getBeginIndex());
    fixture = new StringCharacterIterator("fixture", 1);
    assertEquals(0, fixture.getBeginIndex());
    fixture = new StringCharacterIterator("fixture", 1, "fixture".length(),
        2);
    assertEquals(1, fixture.getBeginIndex());
       
                StringCharacterIterator it1 =
                    new StringCharacterIterator("testing", 2, 6, 4);
                assertEquals("Wrong begin index 2", 2, it1.getBeginIndex());
  }

  /**
   * @tests java.text.StringCharacterIterator.getEndIndex()
   */
  public void test_getEndIndex() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals("fixture".length(), fixture.getEndIndex());
    fixture = new StringCharacterIterator("fixture", 1);
    assertEquals("fixture".length(), fixture.getEndIndex());
    fixture = new StringCharacterIterator("fixture", 1, "fixture".length(),
        2);
    assertEquals("fixture".length(), fixture.getEndIndex());
    fixture = new StringCharacterIterator("fixture", 1, 4, 2);
    assertEquals(4, fixture.getEndIndex());
       
                StringCharacterIterator it1 =
                    new StringCharacterIterator("testing", 2, 6, 4);
                assertEquals("Wrong end index 6", 6, it1.getEndIndex());
  }

  /**
   * @tests java.text.StringCharacterIterator.getIndex()
   */
  public void testGetIndex() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals(0, fixture.getIndex());
    fixture = new StringCharacterIterator("fixture", 1);
    assertEquals(1, fixture.getIndex());
    fixture = new StringCharacterIterator("fixture", 1, "fixture".length(),
        2);
    assertEquals(2, fixture.getIndex());
    fixture = new StringCharacterIterator("fixture", 1, 4, 2);
    assertEquals(2, fixture.getIndex());
  }

  /**
   * @tests java.text.StringCharacterIterator.last()
   */
  public void testLast() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals('e', fixture.last());
    fixture.next();
    assertEquals('e', fixture.last());
    fixture = new StringCharacterIterator("fixture", 1);
    assertEquals('e', fixture.last());
    fixture = new StringCharacterIterator("fixture", 1, "fixture".length(),
        2);
    assertEquals('e', fixture.last());
    fixture = new StringCharacterIterator("fixture", 1, 4, 2);
    assertEquals('t', fixture.last());
  }

  /**
   * @tests java.text.StringCharacterIterator.next()
   */
  public void test_next() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals(0, fixture.getIndex());
    assertEquals('i', fixture.next());
    assertEquals(1, fixture.getIndex());
    assertEquals('x', fixture.next());
    assertEquals(2, fixture.getIndex());
    assertEquals('t', fixture.next());
    assertEquals(3, fixture.getIndex());
    assertEquals('u', fixture.next());
    assertEquals(4, fixture.getIndex());
    assertEquals('r', fixture.next());
    assertEquals(5, fixture.getIndex());
    assertEquals('e', fixture.next());
    assertEquals(6, fixture.getIndex());
    assertEquals(CharacterIterator.DONE, fixture.next());
    assertEquals(7, fixture.getIndex());
    assertEquals(CharacterIterator.DONE, fixture.next());
    assertEquals(7, fixture.getIndex());
    assertEquals(CharacterIterator.DONE, fixture.next());
    assertEquals(7, fixture.getIndex());
       
        StringCharacterIterator it1 = new StringCharacterIterator("testing", 2,
                6, 3);
        char result = it1.next();
        assertEquals("Wrong next char1", 'i', result);
        assertEquals("Wrong next char2", 'n', it1.next());
        assertTrue("Wrong next char3", it1.next() == CharacterIterator.DONE);
        assertTrue("Wrong next char4", it1.next() == CharacterIterator.DONE);
        int index = it1.getIndex();
        assertEquals("Wrong index", 6, index);
        assertTrue("Wrong current char",
                   it1.current() == CharacterIterator.DONE);
  }

  /**
   * @tests java.text.StringCharacterIterator.previous()
   */
  public void test_previous() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    assertEquals(CharacterIterator.DONE, fixture.previous());
    assertEquals('i', fixture.next());
    assertEquals('x', fixture.next());
    assertEquals('t', fixture.next());
    assertEquals('u', fixture.next());
    assertEquals('r', fixture.next());
    assertEquals('e', fixture.next());
    assertEquals(CharacterIterator.DONE, fixture.next());
    assertEquals(CharacterIterator.DONE, fixture.next());
    assertEquals(CharacterIterator.DONE, fixture.next());
    assertEquals(7, fixture.getIndex());
    assertEquals('e', fixture.previous());
    assertEquals(6, fixture.getIndex());
    assertEquals('r', fixture.previous());
    assertEquals(5, fixture.getIndex());
    assertEquals('u', fixture.previous());
    assertEquals(4, fixture.getIndex());
    assertEquals('t', fixture.previous());
    assertEquals(3, fixture.getIndex());
    assertEquals('x', fixture.previous());
    assertEquals(2, fixture.getIndex());
    assertEquals('i', fixture.previous());
    assertEquals(1, fixture.getIndex());
    assertEquals('f', fixture.previous());
    assertEquals(0, fixture.getIndex());
    assertEquals(CharacterIterator.DONE, fixture.previous());
    assertEquals(0, fixture.getIndex());
       
                StringCharacterIterator it1 =
                    new StringCharacterIterator("testing", 2, 6, 4);
                assertEquals("Wrong previous char1", 't', it1.previous());
                assertEquals("Wrong previous char2", 's', it1.previous());
                assertTrue("Wrong previous char3",
                           it1.previous() == CharacterIterator.DONE);
                assertTrue("Wrong previous char4",
                           it1.previous() == CharacterIterator.DONE);
                assertEquals("Wrong index", 2, it1.getIndex());
                assertEquals("Wrong current char", 's', it1.current());
  }

  /**
   * @tests java.text.StringCharacterIterator.setIndex(int)
   */
  public void test_setIndex() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    while (fixture.next() != CharacterIterator.DONE) {
      // empty
    }
    assertEquals("fixture".length(), fixture.getIndex());
    fixture.setIndex(0);
    assertEquals(0, fixture.getIndex());
    assertEquals('f', fixture.current());
    fixture.setIndex("fixture".length() - 1);
    assertEquals('e', fixture.current());
    try {
      fixture.setIndex(-1);
      fail("no illegal argument");
    } catch (IllegalArgumentException e) {
      // expected
    }

    try {
      fixture.setIndex("fixture".length() + 1);
      fail("no illegal argument");
    } catch (IllegalArgumentException e) {
      // expected
    }
  }

  /**
   * @tests java.text.StringCharacterIterator.setText(String)
   */
  public void test_setText() {
    StringCharacterIterator fixture = new StringCharacterIterator("fixture");
    fixture.setText("fix");
    assertEquals('f', fixture.current());
    assertEquals('x', fixture.last());

    try {
      fixture.setText(null);
      fail("no null pointer");
    } catch (NullPointerException e) {
      // expected
    }
  }
   
    /**
     * @tests java.text.StringCharacterIterator#StringCharacterIterator(java.lang.String)
     */
    public void test_ConstructorLjava_lang_String() {
        assertNotNull(new StringCharacterIterator("value"));
        assertNotNull(new StringCharacterIterator(""));
        try {
            new StringCharacterIterator(null);
            fail("Assert 0: no null pointer");
        } catch (NullPointerException e) {
            // expected
        }
       
        StringCharacterIterator it = new StringCharacterIterator("testing");
    assertEquals("Wrong begin index", 0, it.getBeginIndex());
    assertEquals("Wrong end index", 7, it.getEndIndex());
    assertEquals("Wrong current index", 0, it.getIndex());
    assertEquals("Wrong current char", 't', it.current());
    assertEquals("Wrong next char", 'e', it.next());
    }

    /**
     * @tests java.text.StringCharacterIterator#StringCharacterIterator(java.lang.String,
     *        int)
     */
    public void test_ConstructorLjava_lang_StringI() {
        StringCharacterIterator it = new StringCharacterIterator("testing", 3);
    assertEquals("Wrong begin index", 0, it.getBeginIndex());
    assertEquals("Wrong end index", 7, it.getEndIndex());
    assertEquals("Wrong current index", 3, it.getIndex());
    assertEquals("Wrong current char", 't', it.current());
    assertEquals("Wrong next char", 'i', it.next());
    }

    /**
     * @tests java.text.StringCharacterIterator#StringCharacterIterator(java.lang.String,
     *        int, int, int)
     */
    public void test_ConstructorLjava_lang_StringIII() {
        StringCharacterIterator it = new StringCharacterIterator("testing", 2,
                6, 4);
    assertEquals("Wrong begin index", 2, it.getBeginIndex());
    assertEquals("Wrong end index", 6, it.getEndIndex());
    assertEquals("Wrong current index", 4, it.getIndex());
    assertEquals("Wrong current char", 'i', it.current());
    assertEquals("Wrong next char", 'n', it.next());
    }

    /**
     * @tests java.text.StringCharacterIterator#getIndex()
     */
    public void test_getIndex() {
        StringCharacterIterator it1 = new StringCharacterIterator("testing", 2,
                6, 4);
    assertEquals("Wrong index 4", 4, it1.getIndex());
        it1.next();
    assertEquals("Wrong index 5", 5, it1.getIndex());
        it1.last();
    assertEquals("Wrong index 4/2", 5, it1.getIndex());
    }

    /**
     * @tests java.text.StringCharacterIterator#hashCode()
     */
    public void test_hashCode() {
        StringCharacterIterator it1 = new StringCharacterIterator("testing", 2,
                6, 4);
        StringCharacterIterator it2 = new StringCharacterIterator("xxstinx", 2,
                6, 4);
        assertTrue("Hash is equal", it1.hashCode() != it2.hashCode());
        StringCharacterIterator it3 = new StringCharacterIterator("testing", 2,
                6, 2);
        assertTrue("Hash equal1", it1.hashCode() != it3.hashCode());
        it3 = new StringCharacterIterator("testing", 0, 6, 4);
        assertTrue("Hash equal2", it1.hashCode() != it3.hashCode());
        it3 = new StringCharacterIterator("testing", 2, 5, 4);
        assertTrue("Hash equal3", it1.hashCode() != it3.hashCode());
        it3 = new StringCharacterIterator("froging", 2, 6, 4);
        assertTrue("Hash equal4", it1.hashCode() != it3.hashCode());
       
        StringCharacterIterator sci0 = new StringCharacterIterator("fixture");
        assertEquals(sci0.hashCode(), sci0.hashCode());

        StringCharacterIterator sci1 = new StringCharacterIterator("fixture");
        assertEquals(sci0.hashCode(), sci1.hashCode());

        sci1.next();
        sci0.next();
        assertEquals(sci0.hashCode(), sci1.hashCode());
    }

    /**
     * @tests java.text.StringCharacterIterator#last()
     */
    public void test_last() {
        StringCharacterIterator it1 = new StringCharacterIterator("testing", 2,
                6, 3);
    assertEquals("Wrong last char", 'n', it1.last());
    assertEquals("Wrong previous char", 'i', it1.previous());
        it1 = new StringCharacterIterator("testing", 2, 2, 2);
        assertTrue("Not DONE", it1.last() == CharacterIterator.DONE);
    }

    /**
     * @tests java.text.StringCharacterIterator#setIndex(int)
     */
    public void test_setIndexI() {
        StringCharacterIterator it1 = new StringCharacterIterator("testing", 2,
                6, 4);
    assertEquals("Wrong result1", 's', it1.setIndex(2));
        char result = it1.next();
        assertTrue("Wrong next char: " + result, result == 't');
        assertTrue("Wrong result2", it1.setIndex(6) == CharacterIterator.DONE);
    assertEquals("Wrong previous char", 'n', it1.previous());
    }

    /**
     * @tests java.text.StringCharacterIterator#setText(java.lang.String)
     */
    public void test_setTextLjava_lang_String() {
        StringCharacterIterator it1 = new StringCharacterIterator("testing", 2,
                6, 4);
        it1.setText("frog");
    assertEquals("Wrong begin index", 0, it1.getBeginIndex());
    assertEquals("Wrong end index", 4, it1.getEndIndex());
    assertEquals("Wrong current index", 0, it1.getIndex());
    }
}
TOP

Related Classes of org.apache.harmony.text.tests.java.text.StringCharacterIteratorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.