/* * Carrot2 project. * * Copyright (C) 2002-2016, Dawid Weiss, Stanisław Osiński. * All rights reserved. * * Refer to the full license file "carrot2.LICENSE" * in the root folder of the repository checkout or at: * http://www.carrot2.org/carrot2.LICENSE */ package org.carrot2.text.util; import org.carrot2.util.tests.CarrotTestCase; import org.junit.Test; import static org.junit.Assert.*; /** * Test cases for {@link MutableCharArray}. */ public class MutableCharArrayTest extends CarrotTestCase { @Test public void testCharArrayCharSequence() { final MutableCharArray seq = new MutableCharArray("Dawid Weiss"); assertEquals(seq.toString(), "Dawid Weiss"); } @Test public void testCharArrayCharArrayIntInt() { final MutableCharArray seq = new MutableCharArray("Dawid Weiss".toCharArray(), 1, 3); assertEquals("awi", seq.toString()); } @Test public void testCharAt() { final MutableCharArray seq = new MutableCharArray("Dawid Weiss".toCharArray(), 1, 3); assertEquals('a', seq.charAt(0)); assertEquals('w', seq.charAt(1)); assertEquals('i', seq.charAt(2)); } @Test(expected = IndexOutOfBoundsException.class) public void testCharAtOutOfBounds() { final MutableCharArray seq = new MutableCharArray("Dawid Weiss".toCharArray(), 1, 3); assertEquals('-', seq.charAt(3)); } @Test public void testLength() { MutableCharArray seq = new MutableCharArray("1234"); assertEquals(4, seq.length()); seq = new MutableCharArray("1234".toCharArray(), 1, 2); assertEquals(2, seq.length()); } @Test public void testSubSequence() { final MutableCharArray seq = new MutableCharArray("Dawid Weiss"); assertEquals("wi", seq.subSequence(2, 4).toString()); } @Test public void testEquals() { final MutableCharArray seq = new MutableCharArray("Dawid Weiss"); assertFalse(seq.equals("Dawid Weiss")); assertTrue(seq.subSequence(1, 5).equals(new MutableCharArray("awid"))); } @Test public void testReset() { final MutableCharArray seq = new MutableCharArray("Dawid Weiss"); assertEquals(seq.toString(), "Dawid Weiss"); seq.reset("Abcdef"); assertEquals(seq.toString(), "Abcdef"); seq.reset("Dawid Weiss".toCharArray(), 1, 3); assertEquals(seq, new MutableCharArray("awi")); seq.reset("abc"); int h1 = seq.hashCode(); seq.reset("def"); int h2 = seq.hashCode(); assertTrue(h1 != h2); } }