8014137: Update test/tools/javac/literals/UnderscoreLiterals to add testcases with min/max values
authorjjg
Wed, 26 Jun 2013 18:03:58 -0700
changeset 18649 8cfa05227758
parent 18648 38447fa68349
child 18650 3a11154f1154
8014137: Update test/tools/javac/literals/UnderscoreLiterals to add testcases with min/max values Reviewed-by: jjg, darcy Contributed-by: matherey.nunez@oracle.com
langtools/test/tools/javac/literals/UnderscoreLiterals.java
--- a/langtools/test/tools/javac/literals/UnderscoreLiterals.java	Wed Jun 26 09:54:46 2013 -0700
+++ b/langtools/test/tools/javac/literals/UnderscoreLiterals.java	Wed Jun 26 18:03:58 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,12 @@
         test(1_0_0, 100);
         test(1__0__0, 100);
         test(123_456_789, 123456789);
+        test(2_147_483_647, Integer.MAX_VALUE);
+        test(-2_147_483_648, Integer.MIN_VALUE);
+        test(32_767, Short.MAX_VALUE);
+        test(-32_768, Short.MIN_VALUE);
+        test(1_2_7, Byte.MAX_VALUE);
+        test(-1_2_8, Byte.MIN_VALUE);
 
         // long
         test(1l, 1l);
@@ -51,6 +57,8 @@
         test(1_0_0l, 100l);
         test(1__0__0l, 100l);
         test(123_456_789l, 123456789l);
+        test(9_223_372_036_854_775_807l, Long.MAX_VALUE);
+        test(-9_223_372_036_854_775_808l, Long.MIN_VALUE);
 
         // float
         test(.1f, .1f);
@@ -80,6 +88,8 @@
         test(1_1.1_0_0f, 1_1.100f);
         test(1_1.1__0__0f, 1_1.100f);
         test(1_1.123_456_789f, 1_1.123456789f);
+        test(3.4_028_235E38f, Float.MAX_VALUE);
+        test(1.4E-4_5f, Float.MIN_VALUE);
 
         // double
         test(.1d, .1d);
@@ -109,6 +119,8 @@
         test(1_1.1_0_0d, 1_1.100d);
         test(1_1.1__0__0d, 1_1.100d);
         test(1_1.123_456_789d, 1_1.123456789d);
+        test(1.797_6_9_3_1_348_623_157E3_08, Double.MAX_VALUE);
+        test(4.9E-3_24, Double.MIN_VALUE);
 
         // binary
         test(0b1, 1);
@@ -118,6 +130,14 @@
         test(0b1_0_0, 4);
         test(0b1__0__0, 4);
         test(0b0001_0010_0011, 0x123);
+        test(0b111_1111_1111_1111_1111_1111_1111_1111, Integer.MAX_VALUE);
+        test(0b1000_0000_0000_0000_0000_0000_0000_0000, Integer.MIN_VALUE);
+        test(0b111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111l, Long.MAX_VALUE);
+        test(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000l, Long.MIN_VALUE);
+        test(0b111_1111_1111_1111, Short.MAX_VALUE);
+        test((short)-0b1000_0000_0000_0000, Short.MIN_VALUE);
+        test(0b111_1111, Byte.MAX_VALUE);
+        test((byte)-0b1000_0000, Byte.MIN_VALUE);
 
         // octal
         test(01, 1);
@@ -133,6 +153,14 @@
         test(0_1_0_0, 64);
         test(0_1__0__0, 64);
         test(0_001_002_003, 01002003);
+        test(0177_7777_7777, Integer.MAX_VALUE);
+        test(-0200_0000_0000, Integer.MIN_VALUE);
+        test(077_77_77_77_77_7_77_77_77_77_77l, Long.MAX_VALUE);
+        test(-010_00_00_00_00_00_00_00_00_00_00l, Long.MIN_VALUE);
+        test((short)07_77_77, Short.MAX_VALUE);
+        test((short)-010_00_00, Short.MIN_VALUE);
+        test(01_77, Byte.MAX_VALUE);
+        test((byte)-02_00, Byte.MIN_VALUE);
 
         // hexadecimal
         test(0x1, 1);
@@ -142,6 +170,18 @@
         test(0x1_0_0, 256);
         test(0x1__0__0, 256);
         test(0x01_02_03_04, 0x1020304);
+        test(0x7f_ff_ff_ff, Integer.MAX_VALUE);
+        test(0x80_00_00_00, Integer.MIN_VALUE);
+        test(0x1.f_ff_ffep127f, Float.MAX_VALUE);
+        test(0x0.00_00_02p-126f, Float.MIN_VALUE);
+        test(0x1.f__ff_ff_ff_ff_ff_ffp1_023, Double.MAX_VALUE);
+        test(0x0.000_000_000_000_1p-1_022, Double.MIN_VALUE);
+        test(0x7f_ff_ff_ff_ff_ff_ff_ffl, Long.MAX_VALUE);
+        test(0x80_00_00_00_00_00_00_00l, Long.MIN_VALUE);
+        test(0x7f_ff, Short.MAX_VALUE);
+        test((short)0x80_00, Short.MIN_VALUE);
+        test(0x7_f, Byte.MAX_VALUE);
+        test((byte)0x8_0, Byte.MIN_VALUE);
 
         // misc
         long creditCardNumber = 1234_5678_9012_3456L;