1 32 package net.sf.retrotranslator.runtime.format; 33 34 import java.math.BigDecimal ; 35 import java.util.*; 36 import net.sf.retrotranslator.tests.BaseTestCase; 37 38 41 public class HexadecimalExponentialConversionTestCase extends BaseTestCase { 42 43 public void testFormat() throws Exception { 44 assertFormat("0x0.0p0", "%a", 0.0); 45 assertFormat("+0x0.0p0", "%+a", 0.0); 46 assertFormat("-0x0.0p0", "%a", -0.0); 47 assertFormat("0x1.8p0", "%a", 1.5); 48 assertFormat("+0x1.8p0", "%+a", 1.5); 49 assertFormat("-0x1.8p0", "%a", -1.5); 50 assertFormat("+0x1.8p0", "%+a", 1.5f); 51 assertFormat(" 0x0.00000p0", "%15.5a", 0.0); 52 53 assertFormat(" NaN", "%10.2a", Double.NaN); 54 assertFormat("Infinity", "%a", Double.POSITIVE_INFINITY); 55 assertFormat("+Infinity", "%+a", Double.POSITIVE_INFINITY); 56 assertFormat(" -Infinity", "%10.2a", Double.NEGATIVE_INFINITY); 57 assertFormat("null", "%a", (Double ) null); 58 assertFormat(" n", "%2.1a", (Double ) null); 59 assertFormat("0X1.ABCDEFP1", "%A", 0x1.abcdef0p1); 60 61 assertFormat("0x1.2345p1", "%a", 0x1.2345p1); 62 assertFormat("0x1.2345p-1", "%a", 0x1.2345p-1); 63 assertFormat("0x1.2p1", "%1.0a", 0x1.23456789p1); 64 assertFormat("0x1.2p1", "%1.0a", 0x1.23456789p1); 65 assertFormat("0x1.23456p1", "%1.5a", 0x1.23456789p1); 66 assertFormat("0x1.2345679p1", "%1.7a", 0x1.23456789p1); 67 assertFormat("-0x1.2345679p1", "%1.7a", -0x1.23456789p1); 68 69 assertFormat("0x1.2345678p1", "%1.7a", 0x1.234567871p1); 70 assertFormat("0x1.2345678p1", "%1.7a", 0x1.23456788p1); 71 assertFormat("0x1.2345679p1", "%1.7a", 0x1.2345678801p1); 72 assertFormat("-0x1.2345678p1", "%1.7a", -0x1.23456788p1); 73 assertFormat("-0x1.2345678p1", "%1.7a", -0x1.23456788p1); 74 assertFormat("-0x1.2345679p1", "%1.7a", -0x1.234567881p1); 75 assertFormat("0x0.12345p-1022", "%a", 0x0.12345p-1022); 76 assertFormat("0x1.23p-1026", "%1.2a", 0x0.12345p-1022); 77 assertFormat("0x1.2p-1030", "%#1.0a", 0x0.012345p-1022); 78 assertFormat("0x0.123450000000000p-1022", "%1.15a", 0x0.12345p-1022); 79 assertFormat(" 0x0.12345p-1022", "%20a", 0x0.12345p-1022); 80 81 assertFormat("0x1.fffffffffffffp1023", "%a", Double.MAX_VALUE); 82 assertFormat("0x1.0p1024", "%1.0a", Double.MAX_VALUE); 83 assertFormat("-0x1.00000p1024", "%1.5a", -Double.MAX_VALUE); 84 assertFormatException(FormatFlagsConversionMismatchException.class, "%(a"); 85 assertFormatException(FormatFlagsConversionMismatchException.class, "%,a"); 86 assertFormatException(IllegalFormatConversionException.class, "%a", BigDecimal.ONE); 87 assertFormatException(IllegalFormatFlagsException.class, "%-012.3a"); 88 assertFormatException(IllegalFormatFlagsException.class, "%+ 12.3a"); 89 } 90 91 } | Popular Tags |