diff options
Diffstat (limited to 'gnu/testlet/java/lang/StringBuffer/StringBufferTest.java')
-rw-r--r-- | gnu/testlet/java/lang/StringBuffer/StringBufferTest.java | 461 |
1 files changed, 461 insertions, 0 deletions
diff --git a/gnu/testlet/java/lang/StringBuffer/StringBufferTest.java b/gnu/testlet/java/lang/StringBuffer/StringBufferTest.java new file mode 100644 index 00000000..2e529d66 --- /dev/null +++ b/gnu/testlet/java/lang/StringBuffer/StringBufferTest.java @@ -0,0 +1,461 @@ +/* Copyright (C) 1999 Hewlett-Packard Company + Copyright (C) 2002 Free Software Foundation, Inc. + + This file is part of Mauve. + + Mauve is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + Mauve is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Mauve; see the file COPYING. If not, write to + the Free Software Foundation, 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +// Tags: JDK1.0 + +package gnu.testlet.java.lang.StringBuffer; +import gnu.testlet.Testlet; +import gnu.testlet.TestHarness; + +public class StringBufferTest implements Testlet +{ + protected static TestHarness harness; + public void test_Basics() + { + try { + StringBuffer str0 = new StringBuffer(-10); + harness.fail("test_Basics - 0"); + }catch ( NegativeArraySizeException e ){} + + StringBuffer str1 = new StringBuffer(); + harness.check(!( str1.length() != 0 || str1.capacity() != 16 ), + "test_Basics - 1"); + harness.check(!( !str1.toString().equals("")), + "test_Basics - 2"); + + StringBuffer str2 = new StringBuffer( "testing" ); + harness.check(!( str2.length() != 7 ), + "test_Basics - 3"); + harness.check(!( !str2.toString().equals("testing")), + "test_Basics - 4"); + + + try { + String str = null; + StringBuffer str3 = new StringBuffer(str); + /* + CYGNUS: nowhere does it say that we should + handle a null argument in StringBuffer(str). + In fact, the JCL implies that we should not. + But this leads to an asymmetry: `null + ""' + will fail, while `"" + null' will work. For + thaht reason, this test is commented out + here: it's not a failure. + + harness.fail("test_Basics - 5"); + + */ + } + catch ( NullPointerException e ){} + + StringBuffer str4 = new StringBuffer("hi there"); + harness.check(!( str4.length () != 8 || str4.capacity () != 24 ), + "test_Basics - 6"); + harness.check(!( !str4.toString().equals("hi there")), + "test_Basics - 7"); + + StringBuffer strbuf = new StringBuffer(0); + harness.check(!( ! strbuf.append("hiii").toString().equals("hiii")), + "test_Basics - 8"); + + strbuf = new StringBuffer(10); + harness.check(!( strbuf.capacity() != 10 ), + "test_Basics - 9"); + + + } + + public void test_toString() + { + StringBuffer str1 = new StringBuffer("218943289"); + + harness.check(!( !str1.toString().equals("218943289")), + "test_toString - 1"); + + str1 = new StringBuffer(); + harness.check(!( !str1.toString().equals("")), + "test_toString - 2"); + } + + public void test_length() + { + StringBuffer buf1 = new StringBuffer(""); + StringBuffer buf2 = new StringBuffer("pentium"); + + harness.check(!( buf1.length() != 0 ), + "test_length - 1"); + + harness.check(!( buf2.length() != 7 ), + "test_length - 2"); + } + + public void test_capacity() + { + StringBuffer buf1 = new StringBuffer(""); + StringBuffer buf2 = new StringBuffer("pentiumpentiumpentium"); + + harness.check(!( buf1.capacity() != 16 ), + "test_capacity - 1"); + + int cap = buf2.capacity(); + harness.check(!( cap != 37 ), + "test_capacity - 2"); + + + buf1.ensureCapacity( 17); + + // CYGNUS: This is a test for JDK 1.2 conformance + harness.check(!( buf1.capacity() != 34 ), + "test_capacity - 3"); + } + + public void test_setLength() + { + StringBuffer strbuf = new StringBuffer("ba"); + + try { + strbuf.setLength( -10); + harness.fail("test_setLength - 1"); + } + catch ( IndexOutOfBoundsException e ){} + + strbuf.setLength( 4 ); + harness.check(!(strbuf.length() != 4 ), + "test_setLength - 2"); + + harness.check(!( strbuf.charAt(0 ) != 'b' || strbuf.charAt(1 ) != 'a' || + strbuf.charAt(2 ) != '\u0000' || strbuf.charAt(3 ) != '\u0000' ), + "test_setLength - 3"); + } + + public void test_charAt() + { + harness.check(!( (new StringBuffer("abcd")).charAt(0) != 'a' || + (new StringBuffer("abcd")).charAt(1) != 'b' || + (new StringBuffer("abcd")).charAt(2) != 'c' || + (new StringBuffer("abcd")).charAt(3) != 'd' ), + + "test_charAt - 1"); + + try { + char ch = (new StringBuffer("abcd")).charAt(4); + harness.fail("test_charAt - 2"); + } + catch ( IndexOutOfBoundsException e ){} + + try { + char ch = (new StringBuffer("abcd")).charAt(-1); + harness.fail("test_charAt - 3"); + } + catch ( IndexOutOfBoundsException e ){} + } + + public void test_getChars() + { + StringBuffer str = new StringBuffer("abcdefghijklmn"); + + try { + str.getChars(0 , 3 , null , 1 ); + harness.fail("test_getChars - 1"); + }catch ( NullPointerException e ){} + + char dst[] = new char[5]; + + try { + str.getChars(-1 , 3 , dst , 1 ); + harness.fail("test_getChars - 2"); + }catch ( IndexOutOfBoundsException e ){} + + try { + str.getChars(4 , 3 , dst , 3 ); + // CYGNUS: This is a test for JDK 1.2 conformance + harness.fail("test_getChars - 3"); + }catch ( IndexOutOfBoundsException e ){} + + try { + str.getChars(1 , 15 , dst , 1 ); + harness.fail("test_getChars - 4"); + }catch ( IndexOutOfBoundsException e ){} + + try { + str.getChars(1 , 5 , dst , -1 ); + harness.fail("test_getChars - 5"); + }catch ( IndexOutOfBoundsException e ){} + + try { + str.getChars(1 , 10 , dst , 1 ); + harness.fail("test_getChars - 6"); + }catch ( IndexOutOfBoundsException e ){} + + str.getChars(0,5,dst, 0 ); + harness.check(!( dst[0] != 'a' || dst[1] != 'b' || dst[2] != 'c' || + dst[3] != 'd' || dst[4] != 'e' ), + "test_getChars - 7"); + + dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = ' '; + str.getChars(0,0,dst, 0 ); + harness.check(!( dst[0] != ' ' || dst[1] != ' ' || dst[2] != ' ' || + dst[3] != ' ' || dst[4] != ' ' ), + "test_getChars - 9"); + + dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = ' '; + str.getChars(0,1,dst, 0 ); + harness.check(!( dst[0] != 'a' || dst[1] != ' ' || dst[2] != ' ' || + dst[3] != ' ' || dst[4] != ' ' ), + "test_getChars - 10"); + + dst = new char[25]; + str.getChars(3,14,dst,12); + harness.check(dst[12], 'd', "getChars starting src offset 3"); + harness.check(dst[22], 'n', "getChars ending dst offset 22"); + } + + public void test_append( ) + { + StringBuffer str = new StringBuffer(); + Object nullobj = null; + harness.check(!( !str.append( nullobj ).toString().equals("null")), + "test_append - 1"); + + harness.check(!( !str.append( new Integer(100) ).toString().equals("null100")), + "test_append - 2"); + + StringBuffer str1 = new StringBuffer("hi"); + str1 = str1.append( " there" ); + str1 = str1.append( " buddy"); + + harness.check(!( !str1.toString().equals("hi there buddy")), + "test_append - 2"); + + StringBuffer str2 = new StringBuffer(); + str2 = str2.append("sdljfksdjfklsdjflksdjflkjsdlkfjlsdkjflksdjfklsd"); + harness.check(!( !str2.toString().equals( + "sdljfksdjfklsdjflksdjflkjsdlkfjlsdkjflksdjfklsd")), + "test_append - 3"); + + char carr[] = null; + StringBuffer str3 = new StringBuffer(); + + try { + str3 = str3.append( carr ); + harness.fail("test_append - 4"); + } + catch ( NullPointerException e ){} + + char carr1[] = {'h','i','t','h','e','r'}; + StringBuffer str4 = new StringBuffer("!"); + harness.check(!( !str4.append( carr1 ).toString().equals("!hither")), + "test_append - 5"); + + + try { + str3 = str3.append( carr , 0 , 3); + harness.fail("test_append - 6"); + } + catch ( NullPointerException e ){} + str3 = new StringBuffer(); + try { + str3 = str3.append( carr1 , -1 , 3); + harness.fail("test_append - 6"); + } + catch ( IndexOutOfBoundsException e ){} + try { + str3 = str3.append ( carr1 , 0 , -3); + harness.fail("test_append - 6"); + } + catch ( IndexOutOfBoundsException e ){} + + + StringBuffer str5 = new StringBuffer("!"); + str5 = str5.append(carr1 , 2 , 3 ); + harness.check(!( !str5.toString().equals("!the")), + "test_append - 7"); + + str5 = new StringBuffer(); + str5 = str5.append( true ); + harness.check(!( !str5.toString().equals("true")), + "test_append - 8"); + + str5 = str5.append( false ); + harness.check(!( !str5.toString().equals("truefalse")), + "test_append - 9"); + + str5 = str5.append( 20); + harness.check(!( !str5.toString().equals("truefalse20")), + "test_append - 10"); + + str5 = new StringBuffer(); + str5 = str5.append( 2034L ); + harness.check(!( !str5.toString().equals("2034")), + "test_append - 11"); + + str5 = new StringBuffer(); + str5 = str5.append( 34.45f ); + harness.check(!( !str5.toString().equals("34.45")), + "test_append - 12"); + + str5 = new StringBuffer(); + str5 = str5.append( 34.46 ); + harness.check(!( !str5.toString().equals("34.46")), + "test_append - 13"); + } + + public void test_insert() + { + StringBuffer buf = new StringBuffer("1234567"); + Object obj = null; + buf = buf.insert(5 , obj); + harness.check(!( !buf.toString().equals("12345null67")), + "test_insert - 1"); + + try { + buf = buf.insert(-1 , new Object()); + harness.fail("test_insert - 2"); + + }catch ( IndexOutOfBoundsException e ){} + + buf = new StringBuffer("1234567"); + try { + buf = buf.insert(8 , new Object() ); + harness.fail("test_insert - 3"); + }catch ( IndexOutOfBoundsException e ){} + + buf = new StringBuffer("1234567"); + buf = buf.insert(4 , "inserted" ); + harness.check(!( !buf.toString().equals("1234inserted567")), + "test_insert - 4"); + + + buf = new StringBuffer("1234567"); + char cdata[] = null; + try { + buf = buf.insert(4 , cdata ); + harness.fail("test_insert - 5"); + }catch ( NullPointerException e ) {} + + cdata = new char[2]; + try { + buf = buf.insert(-1 , cdata ); + harness.fail("test_insert - 6"); + + }catch ( IndexOutOfBoundsException e ){} + + try { + buf = buf.insert(8 , cdata ); + harness.fail("test_insert - 7"); + }catch ( IndexOutOfBoundsException e ){} + + buf = new StringBuffer("1234567"); + char cdata1[] = {'h','e','l','l','o'}; + buf = buf.insert(4 , cdata1 ); + harness.check(!( !buf.toString().equals("1234hello567")), + "test_insert - 8"); + + + buf = new StringBuffer("1234567"); + buf = buf.insert(0 , true ); + harness.check(!( !buf.toString().equals("true1234567")), + "test_insert - 9"); + + buf = new StringBuffer("1234567"); + buf = buf.insert(7 , false ); + harness.check(!( !buf.toString().equals("1234567false")), + "test_insert - 10"); + + + buf = new StringBuffer("1234567"); + buf = buf.insert(0 , 'c' ); + harness.check(!( !buf.toString().equals("c1234567")), + "test_insert - 11"); + + buf = new StringBuffer("1234567"); + buf = buf.insert(7 , 'b' ); + harness.check(!( !buf.toString().equals("1234567b")), + "test_insert - 12"); + + buf = new StringBuffer("1234567"); + buf = buf.insert(7 , 999 ); + harness.check(!( !buf.toString().equals("1234567999")), + "test_insert - 13"); + + buf = new StringBuffer("1234567"); + buf = buf.insert(0, 99.9f ); + harness.check(!( !buf.toString().equals("99.91234567")), + "test_insert - 14"); + + buf = new StringBuffer("1234567"); + buf = buf.insert(3, 34.46 ); + harness.check(!( !buf.toString().equals("12334.464567")), + "test_insert - 15 " + + buf.toString()); + buf = new StringBuffer("1234567"); + buf = buf.insert(3, (long)1230 ); + harness.check(!( !buf.toString().equals("12312304567")), + "test_insert - 16 " + + buf.toString()); + + } + + public void test_reverse() + { + StringBuffer buff = new StringBuffer(); + harness.check(!( !buff.reverse().toString().equals("")), + "test_reverse - 1"); + + buff = new StringBuffer("babu"); + harness.check(!( !buff.reverse().toString().equals("ubab")), + "test_reverse - 2"); + + buff = new StringBuffer("malayalam"); + harness.check(!( !buff.reverse().toString().equals("malayalam")), + "test_reverse - 3"); + + buff = new StringBuffer("cnbcbnc"); + harness.check(!( !buff.reverse().toString().equals("cnbcbnc")), + "test_reverse - 4"); + + buff = new StringBuffer("vinod"); + harness.check(!( !buff.reverse().toString().equals("doniv")), + "test_reverse - 5"); + } + + public void testall() + { + test_Basics(); + test_toString(); + test_length(); + test_capacity(); + test_setLength(); + test_charAt(); + test_getChars(); + test_append(); + test_insert(); + test_reverse(); + } + + + public void test (TestHarness the_harness) + { + harness = the_harness; + testall (); + } + +} |