提交 56b2622c 编写于 作者: J jjg

8014137: Update test/tools/javac/literals/UnderscoreLiterals to add testcases with min/max values

Reviewed-by: jjg, darcy
Contributed-by: matherey.nunez@oracle.com
上级 46f2c5f0
/*
* 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 @@ public class UnderscoreLiterals {
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 @@ public class UnderscoreLiterals {
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 @@ public class UnderscoreLiterals {
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 @@ public class UnderscoreLiterals {
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 @@ public class UnderscoreLiterals {
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 @@ public class UnderscoreLiterals {
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 @@ public class UnderscoreLiterals {
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册