summaryrefslogtreecommitdiff
path: root/libjava/classpath/testsuite/java.lang/TestCasts.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/testsuite/java.lang/TestCasts.java')
-rw-r--r--libjava/classpath/testsuite/java.lang/TestCasts.java477
1 files changed, 0 insertions, 477 deletions
diff --git a/libjava/classpath/testsuite/java.lang/TestCasts.java b/libjava/classpath/testsuite/java.lang/TestCasts.java
deleted file mode 100644
index 4ee0abf783a..00000000000
--- a/libjava/classpath/testsuite/java.lang/TestCasts.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/* Written by Artur Biesiadowski <abies@pg.gda.pl> */
-
-/*
- This class test basic 4 conversion types and compares results to ready ones, done
- on sure VM (suns JDK). Conversions are
- (obj instanceof clazz)
- (clazz)obj
- clazz.isInstance(obj)
- clazz1.isAssignableFrom(clazz2);
-
- Hopefully all needed cases are covered. If you want to add object just put it
- into objs table. If you want to add class, you need to add it to both cls and to
- testCode method. Of course you need to regenerate results after that.
- */
-
-
-/*
- You can copy/modify/use this file for any purposes, as long as you do not delete
- my name from top of that file. Of course you can add your own below that :)
- */
-
-
-import java.io.*;
-
-interface I1 {}
-interface I2 {}
-interface I3 extends I2{}
-class A1 implements I1 {}
-class AB12 extends A1 implements I2 {}
-class ABC12 extends AB12 {}
-class D3 implements I3 {}
-
-public class TestCasts
-{
-
- public Object objs[] =
- {
- null,
- new Object(),
- new A1(),
- new AB12(),
- new ABC12(),
- new D3(),
- new A1[1],
- new AB12[1],
- new ABC12[1],
- new D3[1],
- new I1[1],
- new I2[1],
- new I3[1],
- new int[1],
- new A1[1][1],
- new AB12[1][1],
- new I1[1][1]
- };
-
- public Class cls[] =
- {
- Object.class,
- A1.class,
- AB12.class,
- ABC12.class,
- D3.class,
- I1.class,
- I2.class,
- I3.class,
- Cloneable.class,
- Serializable.class,
- A1[].class,
- AB12[].class,
- ABC12[].class,
- D3[].class,
- I1[].class,
- I2[].class,
- I3[].class,
- int[].class,
- A1[][].class,
- AB12[][].class,
- I1[][].class
- };
-
- java.util.Vector results = new java.util.Vector(1000);
- boolean verbose = false;
- boolean generate = false;
- String filename = "TestCasts-results.txt";
-
- public static void main(String argv[] )
- {
- TestCasts tc = new TestCasts();
- if ( argv.length > 0 )
- {
- int i;
- for ( i =0; i < argv.length;i++ )
- {
- if ( argv[i].equals("-g") )
- {
- tc.generate = true;
- }
- else if ( argv[i].equals("-v") )
- {
- tc.verbose = true;
- }
- else if ( argv[i].equals("-f") )
- {
- i++;
- if ( i > argv.length )
- {
- System.out.println("You need to specify filename after -f");
- System.exit(1);
- }
- tc.filename = argv[i];
- }
- else
- {
- System.out.println( "Options are: -v -g -f file");
- System.out.println( "[-v] verbose ");
- System.out.println( "[-g] generate result table");
- System.out.println( "[-f file] read/write tests from/to file (default "+tc.filename+")");
- System.exit(1);
- }
- }
- }
-
-
- tc.test();
- //System.out.println(tc.results);
- System.out.println( "Performed " + tc.counter + " tests");
- if ( tc.generate )
- System.out.println( "True: " + tc.genTrue + "\tfalse: " + tc.genFalse);
- else
- {
- System.out.println( "Passed: " + tc.passed + "\tfailed: " + tc.failed);
- if (tc.failed == 0 )
- System.out.println("PASSED: all cast tests");
- }
- }
-
-
- public final void test()
- {
- if (!generate)
- readResultsFromFile();
-
- int i;
- int j;
- for ( i=0; i < objs.length; i++ )
- {
- for ( j=0; j < cls.length; j++ )
- {
- reportClIsInst(objs[i], cls[j], cls[j].isInstance(objs[i]) );
- }
- }
-
- for (i=0; i < objs.length; i++ )
- {
- testCode(objs[i]);
- }
-
- for ( i=0; i < cls.length; i++ )
- {
- for ( j=0; j < cls.length; j++ )
- {
- reportClIsAssign(cls[i], cls[j], cls[i].isAssignableFrom(cls[j]));
- }
- }
-
- if ( generate )
- writeResultsToFile();
- }
-
-
- public final void testCode(Object o)
- {
-
- reportInstanceof(o, Object.class, (o instanceof Object) );
- try
- {
- Object r1 = (Object) o;
- reportCast(o, Object.class, true );
- } catch (ClassCastException e) {
- reportCast(o,Object.class, false );
- }
-
- reportInstanceof(o, A1.class, (o instanceof A1) );
- try
- {
- A1 r1 = (A1) o;
- reportCast(o, A1.class, true );
- } catch (ClassCastException e) {
- reportCast(o,A1.class, false );
- }
- reportInstanceof(o, AB12.class, (o instanceof AB12) );
- try
- {
- AB12 r1 = (AB12) o;
- reportCast(o, AB12.class, true );
- } catch (ClassCastException e) {
- reportCast(o,AB12.class, false );
- }
- reportInstanceof(o, ABC12.class, (o instanceof ABC12) );
- try
- {
- ABC12 r1 = (ABC12) o;
- reportCast(o, ABC12.class, true );
- } catch (ClassCastException e) {
- reportCast(o,ABC12.class, false );
- }
- reportInstanceof(o, D3.class, (o instanceof D3) );
- try
- {
- D3 r1 = (D3) o;
- reportCast(o, D3.class, true );
- } catch (ClassCastException e) {
- reportCast(o,D3.class, false );
- }
- reportInstanceof(o, I1.class, (o instanceof I1) );
- try
- {
- I1 r1 = (I1) o;
- reportCast(o, I1.class, true );
- } catch (ClassCastException e) {
- reportCast(o,I1.class, false );
- }
- reportInstanceof(o, I2.class, (o instanceof I2) );
- try
- {
- I2 r1 = (I2) o;
- reportCast(o, I2.class, true );
- } catch (ClassCastException e) {
- reportCast(o,I2.class, false );
- }
- reportInstanceof(o, I3.class, (o instanceof I3) );
- try
- {
- I3 r1 = (I3) o;
- reportCast(o, I3.class, true );
- } catch (ClassCastException e) {
- reportCast(o,I3.class, false );
- }
- reportInstanceof(o, Cloneable.class, (o instanceof Cloneable) );
- try
- {
- Cloneable r1 = (Cloneable) o;
- reportCast(o, Cloneable.class, true );
- } catch (ClassCastException e) {
- reportCast(o,Cloneable.class, false );
- }
-
- reportInstanceof(o, Serializable.class, (o instanceof Serializable) );
- try
- {
- Serializable r1 = (Serializable) o;
- reportCast(o, Serializable.class, true );
- } catch (ClassCastException e) {
- reportCast(o,Serializable.class, false );
- }
- reportInstanceof(o, A1[].class, (o instanceof A1[]) );
- try
- {
- A1[] r1 = (A1[]) o;
- reportCast(o, A1[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,A1[].class, false );
- }
-
- reportInstanceof(o, AB12[].class, (o instanceof AB12[]) );
- try
- {
- AB12[] r1 = (AB12[]) o;
- reportCast(o, AB12[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,AB12[].class, false );
- }
- reportInstanceof(o, ABC12[].class, (o instanceof ABC12[]) );
- try
- {
- ABC12[] r1 = (ABC12[]) o;
- reportCast(o, ABC12[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,ABC12[].class, false );
- }
- reportInstanceof(o, D3[].class, (o instanceof D3[]) );
- try
- {
- D3[] r1 = (D3[]) o;
- reportCast(o, D3[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,D3[].class, false );
- }
- reportInstanceof(o, I1[].class, (o instanceof I1[]) );
- try
- {
- I1[] r1 = (I1[]) o;
- reportCast(o, I1[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,I1[].class, false );
- }
- reportInstanceof(o, I2[].class, (o instanceof I2[]) );
- try
- {
- I2[] r1 = (I2[]) o;
- reportCast(o, I2[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,I2[].class, false );
- }
-
- reportInstanceof(o, I3[].class, (o instanceof I3[]) );
- try
- {
- I3[] r1 = (I3[]) o;
- reportCast(o, I3[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,I3[].class, false );
- }
-
- reportInstanceof(o, int[].class, (o instanceof int[]) );
- try
- {
- int[] r1 = (int[]) o;
- reportCast(o, int[].class, true );
- } catch (ClassCastException e) {
- reportCast(o,int[].class, false );
- }
-
- reportInstanceof(o, A1[][].class, (o instanceof A1[][]) );
- try
- {
- A1[][] r1 = (A1[][]) o;
- reportCast(o, A1[][].class, true );
- } catch (ClassCastException e) {
- reportCast(o,A1[][].class, false );
- }
- reportInstanceof(o, AB12[][].class, (o instanceof AB12[][]) );
- try
- {
- AB12[][] r1 = (AB12[][]) o;
- reportCast(o, AB12[][].class, true );
- } catch (ClassCastException e) {
- reportCast(o,AB12[][].class, false );
- }
- reportInstanceof(o, I1[][].class, (o instanceof I1[][]) );
- try
- {
- I1[][] r1 = (I1[][]) o;
- reportCast(o, I1[][].class, true );
- } catch (ClassCastException e) {
- reportCast(o,I1[][].class, false );
- }
-
- }
-
- int counter = 0;
- int passed = 0;
- int failed = 0;
- int genTrue = 0;
- int genFalse =0;
-
- public final boolean result(boolean b )
- {
- counter++;
- if ( generate )
- {
- if (b )
- {
- genTrue++;
- results.addElement(Boolean.TRUE);
- }
- else
- {
- genFalse++;
- results.addElement(Boolean.FALSE);
- }
- return true;
- }
- else
- {
- if ( ((Boolean)results.elementAt(counter-1)).booleanValue() != b )
- {
- failed++;
- return false;
- }
- else
- {
- passed++;
- return true;
- }
- }
-
- }
-
- public final void reportClIsInst(Object obj, Class cl, boolean b )
- {
- if ( result(b) )
- {
- if ( verbose )
- System.out.println("PASSED: "+obj +"\tis\t"+ cl + "\t?" + b);
- }
- else
- {
- System.out.println("FAILED: " + cl + ".isInstance(" + obj + ") is\t" + b );
- }
- }
-
- public final void reportClIsAssign( Class c1, Class c2, boolean b )
- {
- if ( result(b) )
- {
- if (verbose)
- System.out.println("PASSED: "+c1 + "\tisAssignableFrom\t" + c2 + "\t?\t" + b);
- }
- else
- {
- System.out.println("FAILED: " + c1 + ".isAssigableFrom(" + c2 + ") is " + b);
- }
- }
-
- public final void reportInstanceof( Object obj, Class cl, boolean b )
- {
- if ( result(b) )
- {
- if ( verbose )
- System.out.println("PASSED: "+obj +"\tinstanceof\t"+ cl + "\t?" + b);
- }
- else
- {
- System.out.println("FAILED: (" + obj + "instanceof\t" + cl + ")\tis\t" + b );
- }
- }
-
- public final void reportCast( Object obj, Class cl, boolean b )
- {
- if ( result(b) )
- {
- if ( verbose )
- System.out.println("PASSED: "+obj +"\tcastto \t"+ cl + "\t?" + b);
- }
- else
- {
- System.out.println("FAILED: " + obj + "\tcastto \t" + cl + "\tis\t" + b );
- }
- }
-
- public final void readResultsFromFile()
- {
- try{
- int i;
- FileInputStream fin = new FileInputStream(filename);
- while ( (i=fin.read()) != -1 )
- {
- results.addElement( i==1 ? Boolean.TRUE : Boolean.FALSE );
- }
- } catch (IOException e )
- {
- System.out.println("Cannot read from file " + filename);
- System.out.println(e);
- System.exit(1);
- }
- }
-
- public final void writeResultsToFile()
- {
- try{
- int i;
- FileOutputStream fos = new FileOutputStream(filename);
- for ( i=0; i < counter; i++ )
- {
- fos.write( ((Boolean)results.elementAt(i)).booleanValue() ? 1 : 0 );
- }
- fos.close();
- } catch (IOException e )
- {
- System.out.println("Cannot read from file " + filename);
- System.out.println(e);
- System.exit(1);
- }
- }
-}