summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/java.lang/CastTest.java170
1 files changed, 170 insertions, 0 deletions
diff --git a/testsuite/java.lang/CastTest.java b/testsuite/java.lang/CastTest.java
new file mode 100644
index 000000000..c33f1c294
--- /dev/null
+++ b/testsuite/java.lang/CastTest.java
@@ -0,0 +1,170 @@
+public class CastTest
+{
+ public static void main(String args[])
+ {
+ d2d();
+ l2d2l();
+ d2l2d();
+ f2d2f();
+ d2f2d();
+ i2f2i();
+ l2f2l();
+ f2l2f();
+ }
+
+ static void d2d()
+ {
+ String msg = "double -> double ";
+
+ try {
+ double dvalue1 = 4.2;
+ double dvalue2 = (double)dvalue1;
+ if (dvalue1 != dvalue2)
+ failed(msg + dvalue1 + " != " + dvalue2);
+ else
+ passed(msg + dvalue1 + " == " + dvalue2);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+
+ static void l2f2l()
+ {
+ String msg = "long -> float -> long ";
+
+ try {
+ long lvalue = 123;
+ float fvalue = (float)lvalue;
+ long lvalue2 = (long)fvalue;
+ if (lvalue != lvalue2)
+ failed(msg + lvalue + " != " + lvalue2 + " (float)" + fvalue);
+ else
+ passed(msg + lvalue + " == " + lvalue2 + " (float)" + fvalue);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+ static void i2f2i()
+ {
+ String msg = "int -> float -> int ";
+
+ try {
+ int ivalue = 123;
+ float fvalue = (float)ivalue;
+ int ivalue2 = (int)fvalue;
+ if (ivalue != ivalue2)
+ failed(msg + ivalue + " != " + ivalue2 + " (float)" + fvalue);
+ else
+ passed(msg + ivalue + " == " + ivalue2 + " (float)" + fvalue);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+ static void f2d2f()
+ {
+ String msg = "float -> double -> float ";
+
+ try {
+ float fvalue = 123.0f;
+ double dvalue = (double)fvalue;
+ float fvalue2 = (float)dvalue;
+
+ if (fvalue != fvalue2)
+ failed(msg + fvalue + " != " + fvalue2 + " (double)" + dvalue);
+ else
+ passed(msg + fvalue + " == " + fvalue2 + " (double)" + dvalue);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+ static void f2l2f()
+ {
+ String msg = "float -> long -> float ";
+
+ try {
+ float fvalue = 123.0f;
+ long lvalue = (long)fvalue;
+ float fvalue2 = (float)lvalue;
+
+ if (fvalue != fvalue2)
+ failed(msg + fvalue + " != " + fvalue2 + " (long)" + lvalue);
+ else
+ passed(msg + fvalue + " == " + fvalue2 + " (long)" + lvalue);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+ static void d2f2d()
+ {
+ String msg = "double -> float -> double ";
+
+ try {
+ double dvalue = 123.0;
+ float fvalue = (float)dvalue;
+ double dvalue2 = (double)fvalue;
+ if (dvalue != dvalue2)
+ failed(msg + dvalue + " != " + dvalue2 + " (float)" + fvalue);
+ else
+ passed(msg + dvalue + " == " + dvalue2 + " (float)" + fvalue);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+ static void l2d2l()
+ {
+ String msg = "long -> double -> long ";
+
+ try {
+ long lvalue = 1023;
+ double dvalue = (double)lvalue;
+ long lvalue2 = (long)dvalue;
+
+ if (lvalue != lvalue2)
+ failed(msg + lvalue + " != " + lvalue2 + " (double)" + dvalue);
+ else
+ passed(msg + lvalue + " == " + lvalue2 + " (double)" + dvalue);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+ static void d2l2d()
+ {
+ String msg = "double -> long -> double ";
+
+ try {
+ double dvalue = 123.0;
+ long lvalue = (long)dvalue;
+ double dvalue2 = (double)lvalue;
+ if (dvalue != dvalue2)
+ failed(msg + dvalue + " != " + dvalue2 + " (long)" + lvalue);
+ else
+ passed(msg + dvalue + " == " + dvalue2 + " (long)" + lvalue);
+ }
+ catch (Exception e)
+ {
+ failed(msg + " : exception " + e.toString());
+ }
+ }
+ static void passed(String msg)
+ {
+ System.out.println("PASSED: "+msg);
+ }
+ static void failed(String msg)
+ {
+ System.out.println("FAILED: "+msg);
+ }
+}