| 1 32 package net.sf.retrotranslator.runtime.format; 33 34 import java.util.*; 35 import net.sf.retrotranslator.tests.BaseTestCase; 36 37 40 public class GeneralConversionTestCase extends BaseTestCase { 41 42 public void testFormat_Boolean() throws Exception { 43 assertFormat(" false", "%10b", null, null); 44 assertFormat(" FALS", "%10.4B", null, null); 45 assertFormat("true", "%b", Boolean.TRUE); 46 assertFormat("false", "%b", Boolean.FALSE); 47 assertFormat("true", "%b", "abc"); 48 assertFormatException(FormatFlagsConversionMismatchException.class, "%#b", "abc"); 49 } 50 51 public void testFormat_Hash() throws Exception { 52 assertFormat(" false", "%10b", null, null); 53 assertFormat(" FALS", "%10.4B", null, null); 54 assertFormat("true", "%b", Boolean.TRUE); 55 assertFormat("false", "%b", Boolean.FALSE); 56 assertFormat("true", "%b", "abc"); 57 assertFormatException(FormatFlagsConversionMismatchException.class, "%#b", "abc"); 58 assertFormatException(FormatFlagsConversionMismatchException.class, "%-#b", "abc"); 59 } 60 61 static class MyFormattable implements Formattable { 62 public void formatTo(Formatter formatter, int flags, int width, int precision) { 63 formatter.format("%s", "my[" + flags + "," + width + "," + 64 precision + "," + formatter.locale() + "]"); 65 } 66 } 67 68 public void testFormat_String() throws Exception { 69 assertFormat("abc", "%s", "abc"); 70 assertFormat(" ab", "%10.2s", "abc"); 71 assertFormat("ab ", "%-10.2s", "abc"); 72 assertFormat("abc ", "%-10.5s", "abc"); 73 assertFormat("x", "%#s", "x"); 74 assertFormatException(MissingFormatWidthException.class, "%-s", "x"); 75 assertFormat("my[0,-1,-1,fr_FR]", "%s", new MyFormattable()); 76 assertFormat("my[1,5,2,fr_FR]", "%-5.2s", new MyFormattable()); 77 assertFormat("my[2,1,4,fr_FR]", "%1.4S", new MyFormattable()); 78 assertFormat("my[4,1,7,fr_FR]", "%#1.7s", new MyFormattable()); 79 } 80 } | Popular Tags |