18bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson/* 28bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one or more 38bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * contributor license agreements. See the NOTICE file distributed with 48bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * this work for additional information regarding copyright ownership. 58bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0 68bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * (the "License"); you may not use this file except in compliance with 78bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * the License. You may obtain a copy of the License at 88bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * 98bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 108bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * 118bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * Unless required by applicable law or agreed to in writing, software 128bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 138bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 148bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * See the License for the specific language governing permissions and 158bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson * limitations under the License. 168bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson */ 178bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 188bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilsonpackage libcore.java.lang; 198bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 20b22ef1e880d100200fdf7f995f58b8227363c8b6Jesse Wilsonimport junit.framework.TestCase; 21b22ef1e880d100200fdf7f995f58b8227363c8b6Jesse Wilson 22b22ef1e880d100200fdf7f995f58b8227363c8b6Jesse Wilsonpublic class OldStringBufferTest extends TestCase { 238bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 248bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson StringBuffer testBuffer = new StringBuffer("This is a test buffer"); 258bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 268bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_deleteCharAtI() { 278bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 288bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.deleteCharAt(testBuffer.length() + 1); 298bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException was not thrown."); 308bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 318bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 328bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 338bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 348bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 358bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.deleteCharAt(-1); 368bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException was not thrown."); 378bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 388bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 398bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 408bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 418bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 428bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_ensureCapacityI() { 438bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson StringBuffer sb = new StringBuffer(10); 448bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson sb.ensureCapacity(-2); 458bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson assertEquals("Failed to increase capacity.", 10, sb.capacity()); 468bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 478bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 488bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_getCharsII$CI() { 498bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson StringBuffer buf2 = new StringBuffer(""); 508bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 518bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson buf2.getChars(-1, 0, new char[5], 2); 528bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 538bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException e) { 548bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 558bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 568bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 578bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 588bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson buf2.getChars(0, -1, new char[5], 2); 598bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 608bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException e) { 618bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 628bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 638bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 648bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 658bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson buf2.getChars(0, -1, new char[5], 2); 668bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 678bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException e) { 688bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 698bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 708bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 718bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 728bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson buf2.getChars(2, 1, new char[5], 2); 738bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 748bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException e) { 758bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 768bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 778bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 788bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 798bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson buf2.getChars(0, 6, new char[5], 2); 808bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 818bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException e) { 828bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 838bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 848bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 858bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 868bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson buf2.getChars(0, 6, new char[10], 5); 878bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 888bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException e) { 898bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 908bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 918bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 928bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 938bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_insertID() { 948bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 958bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(-1, Double.MAX_VALUE); 968bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 978bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 988bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 998bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1008bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1018bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1028bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(testBuffer.length() + 1, Double.MAX_VALUE); 1038bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1048bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1058bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1068bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1078bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1088bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1098bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_insertIF() { 1108bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1118bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(-1, Float.MAX_VALUE); 1128bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1138bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1148bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1158bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1168bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1178bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1188bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(testBuffer.length() + 1, Float.MAX_VALUE); 1198bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1208bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1218bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1228bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1238bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1248bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1258bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_insertII() { 1268bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1278bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(-1, Integer.MAX_VALUE); 1288bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1298bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1308bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1318bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1328bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1338bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1348bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(testBuffer.length() + 1, Integer.MAX_VALUE); 1358bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1368bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1378bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1388bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1398bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1408bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1418bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_insertIJ() { 1428bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1438bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(-1, Long.MAX_VALUE); 1448bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1458bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1468bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1478bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1488bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1498bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1508bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(testBuffer.length() + 1, Long.MAX_VALUE); 1518bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1528bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1538bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1548bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1558bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1568bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1578bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_insertILjava_lang_Object() { 1588bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson Object obj1 = new Object(); 1598bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1608bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(-1, obj1); 1618bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1628bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1638bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1648bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1658bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1668bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1678bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(testBuffer.length() + 1, obj1); 1688bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1698bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1708bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1718bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1728bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1738bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1748bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_insertILjava_lang_String() { 1758bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1768bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(-1, ""); 1778bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1788bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1798bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1808bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1818bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1828bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1838bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(testBuffer.length() + 1, ""); 1848bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1858bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1868bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1878bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1888bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1898bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1908bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_insertIZ() { 1918bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1928bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(testBuffer.length() + 1, true); 1938bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 1948bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 1958bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 1968bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 1978bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 1988bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 1998bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.insert(-1, true); 2008bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2018bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 2028bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2038bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2048bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2058bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2068bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_replaceIILjava_lang_String() { 2078bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2088bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.replace(-1, 0, "text"); 2098bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2108bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 2118bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2128bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2138bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2148bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2158bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.replace(0, -1, "text"); 2168bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2178bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 2188bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2198bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2208bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2218bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2228bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.replace(2, 1, "text"); 2238bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2248bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 2258bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2268bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2278bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2288bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2298bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.replace(testBuffer.length() + 1, testBuffer.length() + 1, 2308bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson "text"); 2318bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2328bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException sioobe) { 2338bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2348bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2358bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2368bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2378bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_setCharAtIC() { 2388bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson StringBuffer s = new StringBuffer("HelloWorld"); 2398bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2408bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson s.setCharAt(-1, 'Z'); 2418bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 2428bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(IndexOutOfBoundsException ioobe) { 2438bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2448bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2458bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2468bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson s.setCharAt(s.length() + 1, 'Z'); 2478bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException is not thrown."); 2488bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(IndexOutOfBoundsException ioobe) { 2498bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2508bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2518bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2528bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2538bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_substringI() { 2548bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2558bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.substring(testBuffer.length() + 1); 2568bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2578bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException oobe) { 2588bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2598bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2608bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2618bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2628bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.substring(-1); 2638bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2648bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException oobe) { 2658bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2668bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2678bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2688bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2698bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_substringII() { 2708bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2718bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.substring(-1, testBuffer.length()); 2728bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2738bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException oobe) { 2748bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2758bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2768bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2778bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2788bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.substring(0, -1); 2798bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2808bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException oobe) { 2818bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2828bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2838bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2848bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 2858bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.substring(2, 1); 2868bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("StringIndexOutOfBoundsException is not thrown."); 2878bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch(StringIndexOutOfBoundsException oobe) { 2888bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 2898bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2908bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 2918bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 2928bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson public void test_subSequence() { 2938bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson assertEquals("Incorrect substring returned", " is", 2948bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.subSequence(4, 7)); 2958bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson assertEquals("Incorrect substring returned", "test buffer", 2968bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.subSequence(10, 21)); 2978bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson assertEquals("not identical", "This is a test buffer", 2988bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.subSequence(0, testBuffer.length())); 2998bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 3008bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 3018bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.subSequence(0, Integer.MAX_VALUE); 3028bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException was not thrown."); 3038bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException ioobe) { 3048bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 3058bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 3068bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 3078bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 3088bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.subSequence(Integer.MAX_VALUE, testBuffer.length()); 3098bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException was not thrown."); 3108bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException ioobe) { 3118bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 3128bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 3138bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson 3148bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson try { 3158bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson testBuffer.subSequence(-1, testBuffer.length()); 3168bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson fail("IndexOutOfBoundsException was not thrown."); 3178bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } catch (IndexOutOfBoundsException ioobe) { 3188bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson //expected 3198bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 3208bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson } 3218bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson} 322