/* Copyright (C) 1999 Hewlett-Packard Company
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: JLS1.0
// edited by smartmove
package gnu.testlet.wonka.lang.String;
import gnu.testlet.Testlet;
import gnu.testlet.TestHarness;
import gnu.testlet.UnicodeSubsets;
public class StringTest implements Testlet
{
protected static TestHarness harness;
public void test_Basics()
{
harness.checkPoint("String()");
String str1 = new String();
harness.check(!( str1.length() != 0 ),
"Error : test_Basics failed - 1");
harness.check(!( !str1.toString().equals("")),
"Error : test_Basics failed - 2");
harness.checkPoint("String(java.lang.String)");
String str2 = new String("testing" );
harness.check(!( str2.length() != 7 ),
"Error : test_Basics failed - 3");
harness.check(!( !str2.toString().equals("testing")),
"Error : test_Basics failed - 4");
try {
String str = null;
String str3 = new String(str);
harness.fail("Error : test_Basics failed - 5");
}
catch ( NullPointerException e ){harness.check(true);}
harness.checkPoint("String(java.lang.StringBuffer)");
String str4 = new String( new StringBuffer("hi there"));
harness.check(!( str4.length () != 8 ),
"Error : test_Basics failed - 6");
harness.check(!( !str4.toString().equals("hi there")),
"Error : test_Basics failed - 7");
try {
StringBuffer strb = null;
String str3 = new String(strb);
harness.fail("Error : test_Basics failed - 5");
}
catch ( NullPointerException e ){harness.check(true);}
harness.checkPoint("String(char[])");
char cdata[] = { 'h' , 'e' , 'l' , 'l' , 'o' };
String str5 = new String( cdata );
harness.check(!( str5.length () != 5 ),
"Error : test_Basics failed - 8");
harness.check(!( !str5.toString().equals("hello")),
"Error : test_Basics failed - 9");
try {
char[] chra = null;
String str3 = new String(chra);
harness.fail("Error : test_Basics failed - 5");
}
catch ( NullPointerException e ){harness.check(true);}
harness.checkPoint("String(char[],int,int)");
try {
String str6 = new String( cdata , 0 , 10 );
harness.fail("Error : test_Basics failed - 10");
}
catch ( IndexOutOfBoundsException e ){harness.check(true);}
try {
String str6 = new String( cdata , 0 , -10 );
harness.fail("Error : test_Basics failed - 10");
}
catch ( IndexOutOfBoundsException e ){harness.check(true);}
try {
String str6 = new String( cdata , -1 , 4 );
harness.fail("Error : test_Basics failed - 10");
}
catch ( IndexOutOfBoundsException e ){harness.check(true);}
String str8 = new String( cdata , 0 , 4 );
harness.check(!( !str8.equals("hell")),
"Error : test_Basics failed - 12");
try {
char[] chra = null;
String str3 = new String(chra, 0 ,0 );
harness.fail("Error : test_Basics failed - 5");
}
catch ( NullPointerException e ){harness.check(true);}
harness.checkPoint("String(byte[])");
byte bdata[] = { (byte)'d',(byte)'a',(byte)'n',(byte)'c',(byte)'i',(byte)'n',(byte)'g' };
String str9 = new String(bdata , 10 );
char ch = str9.charAt(1);
int i = (ch & 0xff00 ) >> 8 ;
byte b = (byte)(ch & 0x00ff );
harness.check(!( i != 10 || b != 'a' ),
"test_Basics - 14");
byte bnull [] = null;
try {
String str11 = new String( bnull , 10 , 0 , 5);
harness.fail("test_Basics - 15");
}catch ( NullPointerException e ){}
try {
String str12 = new String( bdata , 10 , -1 , 3);
harness.fail("test_Basics - 16");
}catch ( IndexOutOfBoundsException e ){}
String str13 = new String( bdata , 10 , 1 , 1 );
i = (ch & 0xff00 ) >> 8 ;
b = (byte)(ch & 0x00ff );
harness.check(!( i != 10 || b != 'a' ),
"test_Basics - 17");
String str14 = new String( bdata);
harness.check(!( !str14.equals("dancing")),
"Error : test_Basics failed - 18");
try {
byte[] bta = null;
String str3 = new String(bta);
harness.fail("Error : test_Basics failed - 5");
}
catch ( NullPointerException e ){harness.check(true);}
harness.checkPoint("String(byte[],int,int)");
try {
byte [] barr = null;
String str7 = new String( barr , 0 , 10 );
harness.fail("Error : test_Basics failed - 11");
}
catch ( NullPointerException e ){harness.check(true);}
try {
String str6 = new String( bdata , 0 , 10 );
harness.fail("Error : test_Basics failed - 10");
}
catch ( IndexOutOfBoundsException e ){harness.check(true);}
try {
String str6 = new String( bdata , 0 , -10 );
harness.fail("Error : test_Basics failed - 10");
}
catch ( IndexOutOfBoundsException e ){harness.check(true);}
try {
String str6 = new String( bdata , -1 , 4 );
harness.fail("Error : test_Basics failed - 10");
}
catch ( IndexOutOfBoundsException e ){harness.check(true);}
}
public void test_toString()
{
harness.checkPoint("toString()java.lang.String"); String str1 = "218943289";
harness.check(!( !str1.toString().equals("218943289")),
"Error : test_toString failed - 1");
harness.check(!( str1 != "218943289" ),
"Error : test_toString failed - 2");
harness.check(!( !str1.equals(str1.toString())),
"Error : test_toString failed - 3");
harness.check( str1.toString()=="218943289",
"Error : test_toString failed - 4");
}
public void test_equals()
{
harness.checkPoint("equals(java.lang.Object)boolean");
String str2 = new String("Nectar");
harness.check(!( str2.equals( null )),
"Error : test_equals failed - 1");
harness.check(!( !str2.equals("Nectar")),
"Error : test_equals failed - 2");
harness.check(!( str2.equals("")),
"Error : test_equals failed - 3");
harness.check(!( str2.equals("nectar")),
"Error : test_equals failed - 4");
harness.check(!( !"".equals("")),
"Error : test_equals failed - 5");
str2 = "";
harness.check(!str2.equals(null));
}
public void test_hashCode()
{
harness.checkPoint("equals(java.lang.Object)boolean");
String str1 = "hp";
String str2 = "Hewlett Packard Company";
String str3 = "Hewlett Packard Company";
String str4 = "SmartMove";
int hashSm= (int) str4.charAt(0);
for (int i = 1 ; i <9 ; i++) { hashSm = hashSm * 31 + (int)str4.charAt(i); }
harness.check(str4.hashCode() == hashSm , "testing hashcode algorithm");
int hash1 = 'h' * 31 + 'p';
int acthash1 = str1.hashCode();
harness.check(!( hash1 != acthash1 ),
"Error : test_hashCode failed - 1");
harness.check(str2.hashCode() == str3.hashCode(),
"equal string should have equal hashcodes");
}
public void test_length()
{
harness.checkPoint("length()int");
harness.check(!( "".length() != 0 ),
"Error : test_length failed - 1");
harness.check(!( "pentium".length() != 7 ),
"Error : test_length failed - 2");
}
public void test_charAt()
{
harness.checkPoint("charAt(int)char");
harness.check(!( "abcd".charAt(0) != 'a' || "abcd".charAt(1) != 'b' ||
"abcd".charAt(2) != 'c' || "abcd".charAt(3) != 'd' ),
"Error : test_charAt failed - 1");
try {
char ch = "abcd".charAt(4);
harness.fail("Error : test_charAt failed - 2");
}
catch ( IndexOutOfBoundsException e ){}
try {
char ch = "abcd".charAt(-1);
harness.fail("Error : test_charAt failed - 3");
}
catch ( IndexOutOfBoundsException e ){}
}
public void test_getChars()
{
harness.checkPoint("getChars(int,int,char[],int)void");
String str = "abcdefghijklmn";
try {
str.getChars(0 , 3 , null , 1 );
harness.fail("Error : test_getChars failed - 1");
}catch ( NullPointerException e ){}
char dst[] = new char[5];
try {
str.getChars(-1 , 3 , dst , 1 );
harness.fail("Error : test_getChars failed - 2");
}catch ( IndexOutOfBoundsException e ){}
try {
str.getChars(4 , 3 , dst , 1 );
harness.fail("Error : test_getChars failed - 3");
}catch ( IndexOutOfBoundsException e ){}
try {
str.getChars(1 , 15 , dst , 1 );
harness.fail("Error : test_getChars failed - 4");
}catch ( IndexOutOfBoundsException e ){}
try {
str.getChars(1 , 5 , dst , -1 );
harness.fail("Error : test_getChars failed - 5");
}catch ( IndexOutOfBoundsException e ){}
try {
str.getChars(1 , 10 , dst , 1 );
harness.fail("Error : test_getChars failed - 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' ),
"Error : test_getChars failed - 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] != ' ' ),
"Error : test_getChars failed - 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] != ' ' ),
"Error : test_getChars failed - 10");
dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = ' ';
str.getChars(3,7,dst, 0 );
harness.check(!( dst[0] != 'd' || dst[1] != 'e' || dst[2] != 'f' ||
dst[3] != 'g' || dst[4] != ' ' ),
"Error : test_getChars failed - 11");
str.getChars(10,14,dst, 1 );
harness.check("dklmn".equals(new String(dst)),"Error : test_getChars failed - 12" );
}
public void test_getBytes()
{
harness.checkPoint("getBytes()byte[]");
String str = "abcdefghijklmn";
byte [] dst1 = new byte[40];
dst1 = str.getBytes();
harness.check(!( dst1[0] != 'a' || dst1[1] != 'b' || dst1[2] != 'c' ||
dst1[3] != 'd' || dst1[4] != 'e' ),
"Error : test_getBytes failed - 8");
}
public void test_toCharArray()
{
harness.checkPoint("toCharArray()char[]");
char[] charr = "abcde".toCharArray();
harness.check(!( charr[0] != 'a' || charr[1] != 'b' ||
charr[2] != 'c' || charr[3] != 'd' ||
charr[4] != 'e' ),
"Error : test_toCharArray failed - 1");
try {
charr[5] = 'l';
harness.fail("An IndexOutOfBoundsException should have been thrown");
}
catch (IndexOutOfBoundsException e) { harness.check(true); }
char [] charr1 = "".toCharArray();
harness.check(!( charr1.length > 0 ),
"Error : test_toCharArray failed - 2");
}
public void test_equalsIgnoreCase()
{
harness.checkPoint("equalsIgnoreCase(java.lang.String)boolean");
harness.check(!( "hi".equalsIgnoreCase(null)),
"Error : test_equalsIgnoreCase failed - 1");
harness.check(!( !"hi".equalsIgnoreCase("HI")),
"Error : test_equalsIgnoreCase failed - 2");
harness.check(!( "hi".equalsIgnoreCase("pq")),
"Error : test_equalsIgnoreCase failed - 3");
harness.check(!( "hi".equalsIgnoreCase("HI ")),
"Error : test_equalsIgnoreCase failed - 4");
}
public void test_compareTo()
{
harness.checkPoint("compareTo(java.lang.String)int");
try {
int res = "abc".compareTo(null);
harness.fail("Error : test_compareTo failed - 1");
}
catch ( NullPointerException e ){}
harness.check(!( "abc".compareTo("bcdef") >= 0 ),
"Error : test_compareTo failed - 2");
harness.check(!( "abc".compareTo("abc") != 0 ),
"Error : test_compareTo failed - 3");
harness.check(!( "abc".compareTo("aabc") <= 0 ),
"Error : test_compareTo failed - 4");
harness.check(!( "abcd".compareTo("abc") <= 0 ),
"Error : test_compareTo failed - 5");
harness.check(!( "".compareTo("abc") >= 0 ),
"Error : test_compareTo failed - 6");
harness.check( "abc".compareTo("efg") == -4 ,
"Error : test_compareTo failed - 7");
harness.check( "abcdefgh".compareTo("abc") == 5 ,
"Error : test_compareTo failed - 8");
harness.check( "ebc".compareTo("afg") == 4 ,
"Error : test_compareTo failed - 7");
harness.check( "abc".compareTo("abcdefgh") == -5 ,
"Error : test_compareTo failed - 8");
}
public void test_regionMatches()
{
harness.checkPoint("regionMatches(int,java.lang.String,int,int)boolean");
try {
boolean res = "abc".regionMatches(0 , null , 0 , 2);
harness.fail("Error : test_regionMatches failed - 1");
}
catch ( NullPointerException e ){ harness.check(true); }
harness.check(!( "abcd".regionMatches(-1 , "abcd" , 0 , 2 )),
"Error : test_regionMatches failed - 2");
harness.check(!( "abcd".regionMatches(0 , "abcd" , - 1 , 2 )),
"Error : test_regionMatches failed - 3");
harness.check(!( "abcd".regionMatches(0 , "abcd" , 0 , 10 )),
"Error : test_regionMatches failed - 4");
harness.check(!( "abcd".regionMatches(0 , "ab" , 0 , 3 )),
"Error : test_regionMatches failed - 5");
harness.check(!( !"abcd".regionMatches(1 , "abc" , 1 , 2 )),
"Error : test_regionMatches failed - 6");
harness.check(!( !"abcd".regionMatches(1 , "abc" , 1 , 0 )),
"Error : test_regionMatches failed - 7");
harness.check(!( "abcd".regionMatches(1 , "ABC" , 1 , 2 )),
"Error : test_regionMatches failed - 8");
harness.checkPoint("regionMatches(boolean,int,java.lang.String,int,int)boolean");
try {
boolean res = "abc".regionMatches(true , 0 , null , 0 , 2);
harness.fail("Error : test_regionMatches failed - 11");
}
catch ( NullPointerException e ){}
harness.check(!( "abcd".regionMatches(true , -1 , "abcd" , 0 , 2 )),
"Error : test_regionMatches failed - 12");
harness.check(!( "abcd".regionMatches(true , 0 , "abcd" , - 1 , 2 )),
"Error : test_regionMatches failed - 13");
harness.check(!( "abcd".regionMatches(true , 0 , "abcd" , 0 , 10 )),
"Error : test_regionMatches failed - 14");
harness.check(!( "abcd".regionMatches(true , 0 , "ab" , 0 , 3 )),
"Error : test_regionMatches failed - 15");
harness.check(!( !"abcd".regionMatches(true , 1 , "abc" , 1 , 2 )),
"Error : test_regionMatches failed - 16");
harness.check(!( !"abcd".regionMatches(true , 1 , "abc" , 1 , 0 )),
"Error : test_regionMatches failed - 17");
harness.check(!( !"abcd".regionMatches(true , 1 , "ABC" , 1 , 2 )),
"Error : test_regionMatches failed - 18");
harness.check(!( "abcd".regionMatches(false , 1 , "ABC" , 1 , 2 )),
"Error : test_regionMatches failed - 19");
}
public void test_startsWith()
{
harness.checkPoint("startsWith(java.lang.String)boolean");
harness.check(!( !"abcdef".startsWith( "abc")),
"Error : test_startsWith failed - 1");
try {
boolean b = "abcdef".startsWith( null );
harness.fail("Error : test_startsWith failed - 2");
} catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( "abcdef".startsWith( "ABC")),
"Error : test_startsWith failed - 3");
harness.check(!( !"abcdef".startsWith( "")),
"Error : test_startsWith failed - 4");
harness.check(!( "abc".startsWith( "abcd")),
"Error : test_startsWith failed - 5");
harness.checkPoint("startsWith(java.lang.String,int)boolean");
harness.check(!( !"abcdef".startsWith( "abc" , 0 )),
"Error : test_startsWith failed - 6");
try {
boolean b = "abcdef".startsWith( null ,0);
harness.fail("Error : test_startsWith failed - 7");
} catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( "abcdef".startsWith( "ABC", 2)),
"Error : test_startsWith failed - 8");
harness.check(!( !"abcdef".startsWith( "", 0 )),
"Error : test_startsWith failed - 9");
harness.check(!( "abc".startsWith( "abcd" , 3)),
"Error : test_startsWith failed - 10");
harness.check(!( "abc".startsWith( "abc" , 10)),
"Error : test_startsWith failed - 11");
harness.check(!( !"defabcdef".startsWith( "abc" , 3 )),
"Error : test_startsWith failed - 12");
}
public void test_endsWith()
{
harness.checkPoint("endsWith(java.lang.String)boolean");
harness.check(!( !"abcdef".endsWith( "def")),
"Error : test_endsWith failed - 1");
try {
boolean b = "abcdef".endsWith( null );
harness.fail("Error : test_endsWith failed - 2");
} catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( "abcdef".endsWith( "DEF")),
"Error : test_endsWith failed - 3");
harness.check(!( !"abcdef".endsWith( "")),
"Error : test_endsWith failed - 4");
harness.check(!( "bcde".endsWith( "abcd")),
"Error : test_endsWith failed - 5");
harness.check( "abcd".endsWith( "abcd"),
"Error : test_endsWith failed - 5");
}
public void test_indexOf()
{
harness.checkPoint("indexOf(int)int");
harness.check(!( "a".indexOf('a') != 0 ),
"Error : test_indexOf failed - 1");
harness.check(!( "aabc".indexOf('c') != 3 ),
"Error : test_indexOf failed - 2");
harness.check(!( "a".indexOf('c') != -1 ),
"Error : test_indexOf failed - 3");
harness.check(!( "".indexOf('a') != -1 ),
"Error : test_indexOf failed - 4a");
harness.check(!( "ab\t\nsd".indexOf('\n') != 3 ),
"Error : test_indexOf failed - 4b");
harness.check(!( "ab\t\nsd".indexOf('\t') != 2 ),
"Error : test_indexOf failed - 4c");
harness.checkPoint("indexOf(int,int)int");
harness.check(!( "abcde".indexOf('b', 3) != -1 ),
"Error : test_indexOf failed - 5");
harness.check(!( "abcde".indexOf('b', 0) != 1 ),
"Error : test_indexOf failed - 6");
harness.check(!( "abcdee".indexOf('e', 3) != 4 ),
"Error : test_indexOf failed - 7");
harness.check(!( "abcdee".indexOf('e', 5) != 5 ),
"Error : test_indexOf failed - 8");
harness.check(!( "abcdee".indexOf('e', -5) != 4 ),
"Error : test_indexOf failed - 9");
harness.check(!( "abcdee".indexOf('e', 15) != -1 ),
"Error : test_indexOf failed - 10");
harness.checkPoint("indexOf(java.lang.String)int");
harness.check(!( "abcdee".indexOf("babu") != -1 ),
"Error : test_indexOf failed - 11");
try {
int x = "abcdee".indexOf(null);
harness.fail("Error : test_indexOf failed - 12");
}
catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( "abcdee".indexOf("") != 0 ),
"Error : test_indexOf failed - 13");
harness.check(!( "abcdee".indexOf("ee") != 4 ),
"Error : test_indexOf failed - 14");
harness.check(!( "abcbcbc".indexOf("cbc") != 2 ),
"Error : test_indexOf failed - 15");
// EJWcr00463
if ( "hello \u5236 world".indexOf('\u5236') != 6 ) {
harness.fail("Error : test_indexOf failed - 21");
}
if ( "hello \u0645 world".indexOf('\u0645') != 6 ) {
harness.fail("Error : test_indexOf failed - 22");
}
if ( "hello \u07ff world".indexOf('\u07ff') != 6 ) {
harness.fail("Error : test_indexOf failed - 23");
}
harness.checkPoint("indexOf(java.lang.String,int)int");
harness.check(!( "abcdee".indexOf("babu", 3) != -1 ),
"Error : test_indexOf failed - 16");
try {
int x = "abcdee".indexOf(null,0);
harness.fail("Error : test_indexOf failed - 17");
}
catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( "abcdee".indexOf("", 0) != 0 ),
"Error : test_indexOf failed - 18");
harness.check(!( "abcdee".indexOf("ee", 4) != 4 ),
"Error : test_indexOf failed - 19");
harness.check(!( "abcbcbc".indexOf("cbc",4 ) != 4 ),
"Error : test_indexOf failed - 20");
}
public void test_lastIndexOf()
{
harness.checkPoint("lastIndexOf(int)int");
harness.check(!( "a".lastIndexOf('a') != 0 ),
"Error : test_lastIndexOf failed - 1");
harness.check(!( "acbc".lastIndexOf('c') != 3 ),
"Error : test_lastIndexOf failed - 2");
harness.check(!( "a".lastIndexOf('c') != -1 ),
"Error : test_lastIndexOf failed - 3");
harness.check(!( "".lastIndexOf('a') != -1 ),
"Error : test_lastIndexOf failed - 4");
harness.checkPoint("lastIndexOf(int,int)int");
harness.check(!( "abcde".lastIndexOf('b', 0) != -1 ),
"Error : test_lastIndexOf failed - 5");
harness.check(!( "abcde".lastIndexOf('b', 4) != 1 ),
"Error : test_lastIndexOf failed - 6");
harness.check(!( "abcdee".lastIndexOf('e', 7) != 5 ),
"Error : test_lastIndexOf failed - 7");
harness.check(!( "abcdee".lastIndexOf('e', 4) != 4 ),
"Error : test_lastIndexOf failed - 8");
harness.check(!( "abcdee".lastIndexOf('e', -5) != -1 ),
"Error : test_lastIndexOf failed - 9");
harness.check(!( "abcdee".lastIndexOf('e', 15) != 5 ),
"Error : test_lastIndexOf failed - 10");
harness.checkPoint("lastIndexOf(java.lang.String)int");
harness.check(!( "abcdee".lastIndexOf("babu") != -1 ),
"Error : test_lastIndexOf failed - 11");
try {
int x = "abcdee".lastIndexOf(null);
harness.fail("Error : test_lastIndexOf failed - 12");
}
catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( "abcdee".lastIndexOf("") != 6 ),
"Error : test_lastIndexOf failed - 13");
harness.check(!( "abcdee".lastIndexOf("ee") != 4 ),
"Error : test_lastIndexOf failed - 14a");
harness.check(!( "abcdeef".lastIndexOf("ee") != 4 ),
"Error : test_lastIndexOf failed - 14b");
harness.check(!( "abcbcbc".lastIndexOf("cbc") != 4 ),
"Error : test_lastIndexOf failed - 15a");
harness.check(!( "abcbcbcd".lastIndexOf("cbc") != 4 ),
"Error : test_lastIndexOf failed - 15b");
harness.check(!( "abcdee".lastIndexOf("babu", 3) != -1 ),
"Error : test_lastIndexOf failed - 16");
harness.checkPoint("lastIndexOf(java.lang.String,int)int");
try {
int x = "abcdee".lastIndexOf(null,0);
harness.fail("Error : test_lastIndexOf failed - 17");
}
catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( "abcdee".lastIndexOf("", 0) != 0 ),
"Error : test_lastIndexOf failed - 18a");
harness.check(!( "abcdee".lastIndexOf("", 5) != 5 ),
"Error : test_lastIndexOf failed - 18b");
harness.check(!( "abcdee".lastIndexOf("", 4) != 4 ),
"Error : test_lastIndexOf failed - 18c");
harness.check(!( "abcdee".lastIndexOf("ee", 4) != 4 ),
"Error : test_lastIndexOf failed - 19a");
harness.check(!( "abcdeef".lastIndexOf("ee", 4) != 4 ),
"Error : test_lastIndexOf failed - 19b");
harness.check(!( "abcbcbc".lastIndexOf("cbc",3 ) != 2 ),
"Error : test_lastIndexOf failed - 20");
harness.check(!( "abcdee".lastIndexOf("ee", -5) != -1 ),
"Error : test_lastIndexOf failed - 21");
harness.check(!( "abcdeeg".lastIndexOf("ee", 55) != 4 ),
"Error : test_lastIndexOf failed - 22");
}
public void test_substring()
{
harness.checkPoint("substring(int)java.lang.String");
harness.check(!( !"unhappy".substring(2).equals("happy")),
"Error : test_substring failed - 1");
harness.check(!( !"Harbison".substring(3).equals("bison")),
"Error : test_substring failed - 2");
harness.check(!( !"emptiness".substring(9).equals("")),
"Error : test_substring failed - 3");
try {
String str = "hi there".substring(-1);
harness.fail("Error : test_substring failed - 4");
}catch( IndexOutOfBoundsException e ){ harness.check(true);}
try {
String str = "hi there".substring(10);
harness.fail("Error : test_substring failed - 5");
}catch( IndexOutOfBoundsException e ){ harness.check(true);}
harness.checkPoint("substring(int,int)java.lang.String");
harness.check(!( !"hamburger".substring(4,8).equals("urge")),
"Error : test_substring failed - 6");
harness.check(!( !"smiles".substring(1,5).equals("mile")),
"Error : test_substring failed - 7");
harness.check(!( !"emptiness".substring(2,2).equals("")),
"Error : test_substring failed - 8");
try {
String str = "hi there".substring(-1, 3);
harness.fail("Error : test_substring failed - 9");
}catch( IndexOutOfBoundsException e ){ harness.check(true);}
try {
String str = "hi there".substring(0, 10);
harness.fail("Error : test_substring failed - 10");
}catch( IndexOutOfBoundsException e ){ harness.check(true);}
try {
String str = "hi there".substring(7, 6);
harness.fail("Error : test_substring failed - 11");
}catch( IndexOutOfBoundsException e ){ harness.check(true);}
harness.check(!( !"emptiness".substring(9,9).equals("")),
"Error : test_substring failed - 12");
try {
String str = "emptiness".substring(10,10);
harness.fail("Error : test_substring failed - 13");
}catch( IndexOutOfBoundsException e ){ harness.check(true);}
try {
String str = "emptiness".substring(1110,1110);
harness.fail("Error : test_substring failed - 14");
}catch( IndexOutOfBoundsException e ){ harness.check(true);}
}
public void test_concat( )
{
harness.checkPoint("concat(java.lang.String)java.lang.String");
try {
String str = "help".concat(null);
harness.fail("Error : test_concat failed - 1");
}catch ( NullPointerException e){}
harness.check(!( !"help".concat("me").equals("helpme")),
"Error : test_concat failed - 2");
harness.check(!( ! "to".concat("get").concat("her").equals("together")),
"Error : test_concat failed - 3");
harness.check(!( "hi".concat("") != "hi"),
"Error : test_concat failed - 4");
String str1 = "".concat("there");
harness.check(!( !str1.equals("there")),
"Error : test_concat failed - 5");
// EJWcr00467
String str2 = new String();
try {
str2 = str2.concat("hello");
if (!str2.equals("hello")) {
harness.fail("Error : test_concat failed - 7");
}
} catch (Exception e) {
harness.fail("Error : test_concat failed - 6");
}
}
public void test_replace()
{
harness.checkPoint("replace(char,char)java.lang.String");
harness.check(!( !"mesquite in your cellar".replace('e' , 'o' ).equals(
"mosquito in your collar" )),
"Error : test_replace failed - 1");
harness.check(!( !"the war of baronets".replace('r' , 'y' ).equals(
"the way of bayonets" )),
"Error : test_replace failed - 2");
harness.check(!( !"sparring with a purple porpoise".replace('p' , 't' ).equals(
"starring with a turtle tortoise" )),
"Error : test_replace failed - 3");
harness.check(!( !"JonL".replace('q' , 'x' ).equals("JonL" )),
"Error : test_replace failed - 4");
harness.check(!( !"ppppppppppppp".replace('p' , 'p' ).equals("ppppppppppppp")),
"Error : test_replace failed - 5");
harness.check(!( !"ppppppppppppp".replace('p' , '1' ).equals("1111111111111")),
"Error : test_replace failed - 6");
harness.check(!( !"hp".replace('c' , 'd' ).equals("hp")),
"Error : test_replace failed - 7");
harness.check(!( !"vmhere".replace('a' , 'd' ).equals("vmhere")),
"Error : test_replace failed - 8");
harness.check(!( !"hp\nnf\t".replace('\n' , 'd').equals("hpdnf\t")),
"Error : test_replace failed - 9");
harness.check(!( !"vmhere".replace('e' , '\t').equals("vmh\tr\t")),
"Error : test_replace failed - 10");
}
public void test_toLowerCase()
{
harness.checkPoint("toLowerCase()java.lang.String");
harness.check(!( !"".toLowerCase().equals("")),
"Error : test_toLowerCase failed - 1");
harness.check(!( !"French Fries".toLowerCase().equals("french fries")),
"Error : test_toLowerCase failed - 2");
harness.check(!( !"SMALL-VM".toLowerCase().equals("small-vm")),
"Error : test_toLowerCase failed - 3");
if (UnicodeSubsets.isSupported("8")) {
//Greek Letters
harness.check(!(!"\u0391\u0392\u0393".toLowerCase().equals("\u03B1\u03B2\u03B3")),
"Error : test_toLowerCase failed - 4");
}
if (UnicodeSubsets.isSupported("10")) {
//Cyrillic letters
harness.check(!(!"\u0401\u0402".toLowerCase().equals("\u0451\u0452")),
"Error : test_toLowerCase failed - 5");
}
if (UnicodeSubsets.isSupported("11")) {
//Armenian letters
harness.check(!(!"\u0531\u0532".toLowerCase().equals("\u0561\u0562")),
"Error : test_toLowerCase failed - 6");
}
//e accent grave + e accent circum
harness.check(!(!"\u00C8\u00CA".toLowerCase().equals("\u00E8\u00EA")),
"Error : test_toLowerCase failed - 7");
}
public void test_toUpperCase()
{
harness.checkPoint("toUpperCase()java.lang.String");
harness.check(!( !"".toUpperCase().equals("")),
"Error : test_toUpperCase failed - 1");
harness.check(!( !"French Fries".toUpperCase().equals("FRENCH FRIES")),
"Error : test_toUpperCase failed - 2");
harness.check(!( !"SMALL-VM".toUpperCase().equals("SMALL-VM")),
"Error : test_toUpperCase failed - 3");
harness.check(!( !"small-jvm".toUpperCase().equals("SMALL-JVM")),
"Error : test_toUpperCase failed - 4");
if (UnicodeSubsets.isSupported("8")) {
//Greek Letters
harness.check(!(!"\u03B1\u03B2\u03B3".toUpperCase().equals("\u0391\u0392\u0393")),
"Error : test_toUpperCase failed - 5");
}
if (UnicodeSubsets.isSupported("10")) {
//Cyrillic letters
harness.check(!(!"\u0451\u0452".toUpperCase().equals("\u0401\u0402")),
"Error : test_toUpperCase failed - 6");
}
if (UnicodeSubsets.isSupported("11")) {
//Armenian letters
harness.check(!(!"\u0561\u0562".toUpperCase().equals("\u0531\u0532")),
"Error : test_toUpperCase failed - 7");
}
//e accent grave + e accent circum
harness.check(!(!"\u00E8\u00EA".toUpperCase().equals("\u00C8\u00CA")),
"Error : test_toUpperCase failed - 8");
}
public void test_valueOf()
{
harness.checkPoint("valueOf(java.lang.Object)java.lang.String");
harness.check(!( !String.valueOf((Object)null).equals("null")),
"Error : test_valueOf failed - 1");
Object obj = new Object();
harness.check(!( !String.valueOf(obj).equals(obj.toString())),
"Error : test_valueOf failed - 2");
harness.checkPoint("valueOf(char[])java.lang.String");
try {
char [] data = null;
String str = String.valueOf( data );
}catch ( NullPointerException e ){ harness.check(true);}
char [] data = { 'h' , 'e' , 'l' , 'l' , 'o' };
harness.check(!( !String.valueOf( data ).equals("hello")),
"Error : test_valueOf failed - 3");
harness.checkPoint("valueOf(char[],int,int)java.lang.String");
try {
String str = String.valueOf(data , -1 , 4 );
harness.fail("Error : test_valueOf failed - 4");
}catch ( IndexOutOfBoundsException e ){ harness.check(true);}
try {
String str = String.valueOf(data , 1 , 5 );
harness.fail("Error : test_valueOf failed - 5");
}catch ( IndexOutOfBoundsException e ){ harness.check(true);}
try {
String str = String.valueOf(data , 1 , -5 );
harness.fail("Error : test_valueOf failed - 6");
}catch ( IndexOutOfBoundsException e ){ harness.check(true);}
try {
String str = String.valueOf(null , 1 , 3 );
harness.fail("Error : test_valueOf failed - 7");
}catch ( NullPointerException e ){ harness.check(true);}
harness.check(!( !String.valueOf(data , 2 , 2 ).equals("ll")),
"Error : test_valueOf failed - 8");
harness.checkPoint("valueOf(boolean)java.lang.String");
harness.check(!( !String.valueOf(true).equals("true")),
"Error : test_valueOf failed - 9");
harness.check(!( !String.valueOf(false).equals("false")),
"Error : test_valueOf failed - 10");
harness.checkPoint("valueOf(char)java.lang.String");
harness.check(!( !String.valueOf('c').equals("c")),
"Error : test_valueOf failed - 11");
harness.check(!( !String.valueOf(' ').equals(" ")),
"Error : test_valueOf failed - 12");
harness.checkPoint("valueOf(int)java.lang.String");
harness.check(!( !String.valueOf(234).equals("234")),
"Error : test_valueOf failed - 13a");
harness.check(!( !String.valueOf(234).equals(new Integer(234).toString())),
"Error : test_valueOf failed - 13b");
harness.checkPoint("valueOf(long)java.lang.String");
harness.check(!( !String.valueOf(234L).equals("234")),
"Error : test_valueOf failed - 14a");
harness.check(!( !String.valueOf(234L).equals(new Long(234L).toString())),
"Error : test_valueOf failed - 14b");
harness.checkPoint("valueOf(float)java.lang.String");
harness.check(!( !String.valueOf(23.45f).equals("23.45")),
"Error : test_valueOf failed - 15a");
harness.check(!( !String.valueOf(234.4f).equals(new Float(234.4f).toString())),
"Error : test_valueOf failed - 15b");
harness.checkPoint("valueOf(double)java.lang.String");
harness.check("23.5".equals(String.valueOf(23.5)),
"Error : test_valueOf failed - 16a, got: "+String.valueOf(23.5));
harness.check(String.valueOf(23.4),"23.4",
"Error : test_valueOf failed - 16b");
harness.check(!( !String.valueOf(234.4).equals(new Double(234.4).toString())),
"Error : test_valueOf failed - 16c");
harness.checkPoint("copyValueOf(char[])java.lang.String");
harness.check(!( !String.copyValueOf( data ).equals("hello")),
"Error : test_valueOf failed - 3a");
try {
String.copyValueOf(null);
harness.fail("test_copyValueOf failed");
}
catch (NullPointerException ne) { harness.check(true); }
harness.checkPoint("copyValueOf(char[],int,int)java.lang.String");
harness.check(!( !String.copyValueOf(data , 2 , 2 ).equals("ll")),
"Error : test_valueOf failed - 8a");
try {
String.copyValueOf(data, -1 , 2);
harness.fail("test_copyValueOf failed");
}
catch (IndexOutOfBoundsException ie) { harness.check(true); }
try {
String.copyValueOf(data, 1 ,-2);
harness.fail("test_copyValueOf failed");
}
catch (IndexOutOfBoundsException ie) { harness.check(true); }
try {
String.copyValueOf(data, 1 , 20);
harness.fail("test_copyValueOf failed");
}
catch (IndexOutOfBoundsException ie) { harness.check(true); }
try {
String.copyValueOf(data, 6 , 2);
harness.fail("test_copyValueOf failed");
}
catch (IndexOutOfBoundsException ie) { harness.check(true); }
}
public void test_intern()
{
harness.checkPoint("intern()java.lang.String");
String hp = "hp";
String nullstr = "";
harness.check(!( "hp".intern() != hp.intern()),
"Error : test_intern failed - 1");
harness.check(!( "pqr".intern() == hp.intern()),
"Error : test_intern failed - 2");
harness.check(!( "".intern() != nullstr.intern()),
"Error : test_intern failed - 3");
harness.check(!( "".intern() == hp.intern()),
"Error : test_intern failed - 4");
hp = "";
harness.check(!( "".intern() != hp.intern()),
"Error : test_intern failed - 5");
StringBuffer buff= new StringBuffer();
buff.append('a');
buff.append('b');
harness.check(!( "ab".intern() != buff.toString().intern()),
"Error : test_intern failed - 6");
StringBuffer buff1 = new StringBuffer();
harness.check(!( "".intern() != buff1.toString().intern()),
"Error : test_intern failed - 7");
}
public void test_trim()
{
harness.checkPoint("trim()java.lang.String");
String source = " laura";
String dest;
dest = source.trim();
if (!dest.equals("laura")) {
harness.fail("Error - test_trim - 1");
//System.out.println("expected 'laura', got '" + dest + "'");
}
source = " laura";
dest = source.trim();
if (!dest.equals("laura")) {
harness.fail("Error - test_trim - 2");
//System.out.println("expected 'laura', got '" + dest + "'");
}
source = " ";
dest = source.trim();
if (!dest.equals("")) {
harness.fail("Error - test_trim - 3");
//System.out.println("expected '', got '" + dest + "'");
}
source = "laura";
dest = source.trim();
if (dest != source) {
harness.fail("Error - test_trim - 4");
//System.out.println("Expected strings to be equal");
}
source = "l ";
dest = source.trim();
if (!dest.equals("l")) {
harness.fail("Error - test_trim - 5");
//System.out.println("expected 'l', got '" + dest + "'");
}
source = " l";
dest = source.trim();
if (!dest.equals("l")) {
harness.fail("Error - test_trim - 6");
//System.out.println("expected 'l', got '" + dest + "'");
}
source = " l ";
dest = source.trim();
if (!dest.equals("l")) {
harness.fail("Error - test_trim - 7");
//System.out.println("expected 'l', got '" + dest + "'");
}
source = " l a u r a ";
dest = source.trim();
if (!dest.equals("l a u r a")) {
harness.fail("Error - test_trim - 8");
//System.out.println("expected 'l a u r a', got '" + dest + "'");
}
}
public void testall()
{
harness.setclass("java.lang.String");
test_Basics();
test_toString();
test_equals();
test_hashCode();
test_length();
test_charAt();
test_getChars();
test_getBytes();
test_toCharArray();
test_equalsIgnoreCase();
test_compareTo();
test_regionMatches();
test_startsWith();
test_endsWith();
test_indexOf();
test_lastIndexOf();
test_substring();
test_concat();
test_replace();
test_toLowerCase();
test_toUpperCase();
test_valueOf();
test_intern();
test_trim();
}
public void test (TestHarness the_harness)
{
harness = the_harness;
testall ();
}
}