1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.lang; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class StringBuffer2Test extends junit.framework.TestCase { 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer testBuffer; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#StringBuffer() 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor() { 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer() 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new StringBuffer(); 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Invalid buffer created", true); 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#StringBuffer(int) 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorI() { 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer(int) 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(8); 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Newly constructed buffer is of incorrect length", 0, sb 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .length()); 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#StringBuffer(java.lang.String) 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_lang_String() { 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer(java.lang.String) 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer("HelloWorld"); 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Invalid buffer created", sb.length() == 10 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes && (sb.toString().equals("HelloWorld"))); 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean pass = false; 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new StringBuffer(null); 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes pass = true; 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Should throw NullPointerException", pass); 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(char[]) 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_append$C() { 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(char []) 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char buf[] = new char[4]; 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "char".getChars(0, 4, buf, 0); 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.append(buf); 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Append of char[] failed", 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test bufferchar", testBuffer.toString()); 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(char[], int, int) 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_append$CII() { 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(char [], int, int) 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] buf1 = { 'H', 'e', 'l', 'l', 'o' }; 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] buf2 = { 'W', 'o', 'r', 'l', 'd' }; 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(buf1, 0, buf1.length); 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 5, sb.length()); 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(buf2, 0, buf2.length); 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 10, sb.length()); 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Buffer contains invalid chars", (sb.toString() 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals("HelloWorld"))); 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(char) 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendC() { 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(char) 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char buf1 = 'H'; 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char buf2 = 'W'; 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(buf1); 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 1, sb.length()); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(buf2); 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 2, sb.length()); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Buffer contains invalid chars", 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (sb.toString().equals("HW"))); 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(double) 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendD() { 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(double) 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(Double.MAX_VALUE); 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 22, sb.length()); 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer contains invalid characters", 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "1.7976931348623157E308", sb.toString()); 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(float) 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendF() { 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(float) 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes final float floatNum = 900.87654F; 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(floatNum); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Buffer is invalid length after append: " + sb.length(), sb 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .length() == String.valueOf(floatNum).length()); 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Buffer contains invalid characters", sb.toString().equals( 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String.valueOf(floatNum))); 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(int) 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendI() { 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(int) 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(9000); 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 4, sb.length()); 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(1000); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 8, sb.length()); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer contains invalid characters", 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "90001000", sb.toString()); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(long) 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendJ() { 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(long) 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes long t = 927654321098L; 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(t); 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is of invlaid length", 12, sb.length()); 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer contains invalid characters", 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "927654321098", sb.toString()); 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(java.lang.Object) 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendLjava_lang_Object() { 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(java.lang.Object) 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object obj1 = new Object(); 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object obj2 = new Object(); 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(obj1); 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(obj2); 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Buffer contains invalid characters", sb.toString().equals( 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes obj1.toString() + obj2.toString())); 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(java.lang.String) 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendLjava_lang_String() { 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(java.lang.String) 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String buf1 = "Hello"; 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String buf2 = "World"; 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(buf1); 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 5, sb.length()); 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(buf2); 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 10, sb.length()); 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Buffer contains invalid chars", (sb.toString() 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals("HelloWorld"))); 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#append(boolean) 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_appendZ() { 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.append(boolean) 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(); 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(false); 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 5, sb.length()); 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(true); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Buffer is invalid length after append", 9, sb.length()); 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Buffer is invalid length after append", (sb.toString() 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals("falsetrue"))); 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#capacity() 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_capacity() { 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.lang.StringBuffer.capacity() 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(10); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect capacity", 10, sb.capacity()); 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.ensureCapacity(100); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect capacity", sb.capacity() >= 100); 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#charAt(int) 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_charAtI() { 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method char java.lang.StringBuffer.charAt(int) 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect char", 's', testBuffer.charAt(3)); 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for StringIndexOutOfBoundsException 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean exception = false; 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.charAt(-1); 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (StringIndexOutOfBoundsException e) { 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes exception = true; 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ArrayIndexOutOfBoundsException e) { 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Should throw StringIndexOutOfBoundsException", exception); 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#delete(int, int) 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_deleteII() { 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.delete(int, int) 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.delete(7, 7); 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Deleted chars when start == end", "This is a test buffer", testBuffer.toString() 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.delete(4, 14); 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Deleted incorrect chars", 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This buffer", testBuffer.toString()); 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer = new StringBuffer("This is a test buffer"); 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String sharedStr = testBuffer.toString(); 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.delete(0, testBuffer.length()); 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Didn't clone shared buffer", "This is a test buffer", sharedStr 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Deleted incorrect chars", testBuffer.toString().equals("")); 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.append("more stuff"); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Didn't clone shared buffer 2", "This is a test buffer", sharedStr 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong contents", "more stuff", testBuffer.toString()); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.delete(-5, 2); 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong contents 2", 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "more stuff", testBuffer.toString()); 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#deleteCharAt(int) 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_deleteCharAtI() { 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.deleteCharAt(int) 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.deleteCharAt(3); 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Deleted incorrect char", 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Thi is a test buffer", testBuffer.toString()); 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#ensureCapacity(int) 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ensureCapacityI() { 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.lang.StringBuffer.ensureCapacity(int) 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(10); 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.ensureCapacity(100); 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to increase capacity", sb.capacity() >= 100); 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#getChars(int, int, char[], int) 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getCharsII$CI() { 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.lang.StringBuffer.getChars(int, int, char 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // [], int) 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] buf = new char[10]; 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.getChars(4, 8, buf, 2); 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect chars", new String(buf, 2, 4) 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(testBuffer.toString().substring(4, 8))); 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean exception = false; 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer buf2 = new StringBuffer(""); 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf2.getChars(0, 0, new char[5], 2); 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes exception = true; 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("did not expect IndexOutOfBoundsException", !exception); 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, char[]) 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertI$C() { 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, char []) 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char buf[] = new char[4]; 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "char".getChars(0, 4, buf, 0); 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, buf); 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Insert test failed", 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test charbuffer", testBuffer.toString()); 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean exception = false; 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer buf1 = new StringBuffer("abcd"); 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf1.insert(-1, (char[]) null); 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (StringIndexOutOfBoundsException e) { 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes exception = true; 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Should throw StringIndexOutOfBoundsException", exception); 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, char[], int, int) 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertI$CII() { 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, char [], int, int) 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char[] c = new char[] { 'n', 'o', 't', ' ' }; 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(8, c, 0, 4); 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("This is not a test buffer", testBuffer.toString()); 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer buf1 = new StringBuffer("abcd"); 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes buf1.insert(-1, (char[]) null, 0, 0); 3552a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 3562a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 3572a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (StringIndexOutOfBoundsException expected) { 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(testBuffer.length() - 1, c, -1, 1); 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (StringIndexOutOfBoundsException e) { 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, char) 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertIC() { 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, char) 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, 'T'); 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Insert test failed", 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test Tbuffer", testBuffer.toString()); 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, double) 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertID() { 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, double) 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, Double.MAX_VALUE); 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Insert test failed", testBuffer.toString().equals( 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test " + Double.MAX_VALUE + "buffer")); 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, float) 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertIF() { 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, float) 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, Float.MAX_VALUE); 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String testBufferString = testBuffer.toString(); 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String expectedResult = "This is a test " 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + String.valueOf(Float.MAX_VALUE) + "buffer"; 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Insert test failed, got: " + "\'" + testBufferString + "\'" 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + " but wanted: " + "\'" + expectedResult + "\'", 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBufferString.equals(expectedResult)); 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, int) 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertII() { 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, int) 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, 100); 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Insert test failed", 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test 100buffer", testBuffer.toString()); 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, long) 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertIJ() { 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, long) 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, 88888888888888888L); 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Insert test failed", 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test 88888888888888888buffer", testBuffer.toString()); 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, java.lang.Object) 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertILjava_lang_Object() { 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, java.lang.Object) 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object obj1 = new Object(); 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, obj1); 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Insert test failed", testBuffer.toString().equals( 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test " + obj1.toString() + "buffer")); 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, java.lang.String) 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertILjava_lang_String() { 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, java.lang.String) 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, "STRING "); 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Insert test failed", 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test STRING buffer", testBuffer.toString()); 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#insert(int, boolean) 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_insertIZ() { 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.insert(int, boolean) 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.insert(15, true); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Insert test failed", 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a test truebuffer", testBuffer.toString()); 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#length() 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_length() { 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.lang.StringBuffer.length() 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect length returned", 21, testBuffer.length()); 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#replace(int, int, java.lang.String) 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_replaceIILjava_lang_String() { 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.replace(int, int, java.lang.String) 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.replace(5, 9, "is a replaced"); 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Replace failed, wanted: " + "\'" 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + "This is a replaced test buffer" + "\'" + " but got: " + "\'" 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + testBuffer.toString() + "\'", testBuffer.toString().equals( 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This is a replaced test buffer")); 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("insert1", "text", new StringBuffer().replace(0, 0, "text") 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .toString()); 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("insert2", "123text", new StringBuffer("123").replace(3, 3, "text") 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .toString()); 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("insert2", "1text23", new StringBuffer("123").replace(1, 1, "text") 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .toString()); 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private String writeString(String in) { 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer result = new StringBuffer(); 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.append("\""); 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < in.length(); i++) { 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.append(" 0x" + Integer.toHexString(in.charAt(i))); 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.append("\""); 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return result.toString(); 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private void reverseTest(String id, String org, String rev, String back) { 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // create non-shared StringBuffer 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(org); 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.reverse(); 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String reversed = sb.toString(); 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("reversed surrogate " + id + ": " + writeString(reversed), 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversed.equals(rev)); 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // create non-shared StringBuffer 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb = new StringBuffer(reversed); 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.reverse(); 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversed = sb.toString(); 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("reversed surrogate " + id + "a: " + writeString(reversed), 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversed.equals(back)); 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // test algorithm when StringBuffer is shared 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb = new StringBuffer(org); 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String copy = sb.toString(); 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(org, copy); 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.reverse(); 518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversed = sb.toString(); 519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("reversed surrogate " + id + ": " + writeString(reversed), 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversed.equals(rev)); 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb = new StringBuffer(reversed); 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes copy = sb.toString(); 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(rev, copy); 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.reverse(); 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversed = sb.toString(); 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("reversed surrogate " + id + "a: " + writeString(reversed), 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reversed.equals(back)); 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#reverse() 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_reverse() { 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.StringBuffer 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.reverse() 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String org; 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes org = "a"; 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reverseTest("0", org, org, org); 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes org = "ab"; 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reverseTest("1", org, "ba", org); 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes org = "abcdef"; 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reverseTest("2", org, "fedcba", org); 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes org = "abcdefg"; 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes reverseTest("3", org, "gfedcba", org); 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#setCharAt(int, char) 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setCharAtIC() { 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.lang.StringBuffer.setCharAt(int, char) 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer s = new StringBuffer("HelloWorld"); 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes s.setCharAt(4, 'Z'); 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect char", 'Z', s.charAt(4)); 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#setLength(int) 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setLengthI() { 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.lang.StringBuffer.setLength(int) 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.setLength(1000); 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Failed to increase length", 1000, testBuffer.length()); 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Increase in length trashed buffer", testBuffer.toString() 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .startsWith("This is a test buffer")); 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer.setLength(2); 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Failed to decrease length", 2, testBuffer.length()); 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Decrease in length failed", 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Th", testBuffer.toString()); 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#substring(int) 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_substringI() { 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String 582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.substring(int) 583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect substring", "is a test buffer", testBuffer.substring(5) 584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#substring(int, int) 589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_substringII() { 591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String 592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.lang.StringBuffer.substring(int, int) 593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect substring", "is", testBuffer.substring(5, 7) 594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.lang.StringBuffer#toString() 599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_toString() { 601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String java.lang.StringBuffer.toString() 602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect string value returned", "This is a test buffer", testBuffer.toString() 603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() { 608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testBuffer = new StringBuffer("This is a test buffer"); 609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 611