package jalview.util; import static org.junit.Assert.assertTrue; import java.util.Arrays; import org.junit.Test; public class StringUtilsTest { @Test public void testInsertCharAt() { char[] c1 = "ABC".toCharArray(); char[] expected = new char[] { 'A', 'B', 'C', 'w', 'w' }; assertTrue(Arrays.equals(expected, StringUtils.insertCharAt(c1, 3, 2, 'w'))); expected = new char[] { 'A', 'B', 'C', 'w', 'w' }; assertTrue(Arrays.equals(expected, StringUtils.insertCharAt(c1, 4, 2, 'w'))); assertTrue(Arrays.equals(expected, StringUtils.insertCharAt(c1, 5, 2, 'w'))); assertTrue(Arrays.equals(expected, StringUtils.insertCharAt(c1, 6, 2, 'w'))); assertTrue(Arrays.equals(expected, StringUtils.insertCharAt(c1, 7, 2, 'w'))); } @Test public void testDeleteChars() { char[] c1 = "ABC".toCharArray(); // delete second position assertTrue(Arrays.equals(new char[] { 'A', 'C' }, StringUtils.deleteChars(c1, 1, 2))); // delete positions 1 and 2 assertTrue(Arrays.equals(new char[] { 'C' }, StringUtils.deleteChars(c1, 0, 2))); // delete positions 1-3 assertTrue(Arrays.equals(new char[] {}, StringUtils.deleteChars(c1, 0, 3))); // delete position 3 assertTrue(Arrays.equals(new char[] { 'A', 'B' }, StringUtils.deleteChars(c1, 2, 3))); // out of range deletion is ignore assertTrue(Arrays.equals(c1, StringUtils.deleteChars(c1, 3, 4))); } }