| /* |
| ******************************************************************************* |
| * Copyright (C) 2001-2010, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| */ |
| |
| /** |
| * Port From: ICU4C v1.8.1 : format : IntlTestDateFormatAPI |
| * Source File: $ICU4CRoot/source/test/intltest/dtfmapts.cpp |
| **/ |
| |
| package com.ibm.icu.dev.test.format; |
| |
| import java.text.FieldPosition; |
| import java.text.ParsePosition; |
| import java.util.Date; |
| |
| import com.ibm.icu.text.DateFormat; |
| import com.ibm.icu.text.DecimalFormat; |
| import com.ibm.icu.text.NumberFormat; |
| import com.ibm.icu.text.SimpleDateFormat; |
| |
| /* |
| * This is an API test, not a unit test. It doesn't test very many cases, and doesn't |
| * try to test the full functionality. It just calls each function in the class and |
| * verifies that it works on a basic level. |
| */ |
| public class IntlTestDateFormatAPIC extends com.ibm.icu.dev.test.TestFmwk { |
| |
| public static void main(String[] args) throws Exception { |
| new IntlTestDateFormatAPIC().run(args); |
| } |
| |
| /** |
| * Test hiding of parse() and format() APIs in the Format hierarchy. |
| * We test the entire hierarchy, even though this test is located in |
| * the DateFormat API test. |
| */ |
| public void TestNameHiding() { |
| |
| // N.B.: This test passes if it COMPILES, since it's a test of |
| // compile-time name hiding. |
| |
| Date dateObj = new Date(0); |
| Number numObj = new Double(3.1415926535897932384626433832795); |
| StringBuffer strBuffer = new StringBuffer(""); |
| String str; |
| FieldPosition fpos = new FieldPosition(0); |
| ParsePosition ppos = new ParsePosition(0); |
| |
| // DateFormat calling Format API |
| { |
| logln("DateFormat"); |
| DateFormat dateFmt = DateFormat.getInstance(); |
| if (dateFmt != null) { |
| str = dateFmt.format(dateObj); |
| strBuffer = dateFmt.format(dateObj, strBuffer, fpos); |
| } else { |
| errln("FAIL: Can't create DateFormat"); |
| } |
| } |
| |
| // SimpleDateFormat calling Format & DateFormat API |
| { |
| logln("SimpleDateFormat"); |
| SimpleDateFormat sdf = new SimpleDateFormat(); |
| // Format API |
| str = sdf.format(dateObj); |
| strBuffer = sdf.format(dateObj, strBuffer, fpos); |
| // DateFormat API |
| strBuffer = sdf.format(new Date(0), strBuffer, fpos); |
| str = sdf.format(new Date(0)); |
| try { |
| sdf.parse(str); |
| sdf.parse(str, ppos); |
| } catch (java.text.ParseException pe) { |
| System.out.println(pe); |
| } |
| } |
| |
| // NumberFormat calling Format API |
| { |
| logln("NumberFormat"); |
| NumberFormat fmt = NumberFormat.getInstance(); |
| if (fmt != null) { |
| str = fmt.format(numObj); |
| strBuffer = fmt.format(numObj, strBuffer, fpos); |
| } else { |
| errln("FAIL: Can't create NumberFormat"); |
| } |
| } |
| |
| // DecimalFormat calling Format & NumberFormat API |
| { |
| logln("DecimalFormat"); |
| DecimalFormat fmt = new DecimalFormat(); |
| // Format API |
| str = fmt.format(numObj); |
| strBuffer = fmt.format(numObj, strBuffer, fpos); |
| // NumberFormat API |
| str = fmt.format(2.71828); |
| str = fmt.format(1234567); |
| strBuffer = fmt.format(1.41421, strBuffer, fpos); |
| strBuffer = fmt.format(9876543, strBuffer, fpos); |
| Number obj = fmt.parse(str, ppos); |
| try { |
| obj = fmt.parse(str); |
| if(obj==null){ |
| errln("FAIL: The format object could not parse the string : "+str); |
| } |
| } catch (java.text.ParseException pe) { |
| System.out.println(pe); |
| } |
| } |
| |
| //ICU4J have not the classes ChoiceFormat and MessageFormat |
| /* |
| // ChoiceFormat calling Format & NumberFormat API |
| { |
| logln("ChoiceFormat"); |
| ChoiceFormat fmt = new ChoiceFormat("0#foo|1#foos|2#foos"); |
| // Format API |
| str = fmt.format(numObj); |
| strBuffer = fmt.format(numObj, strBuffer, fpos); |
| // NumberFormat API |
| str = fmt.format(2.71828); |
| str = fmt.format(1234567); |
| strBuffer = fmt.format(1.41421, strBuffer, fpos); |
| strBuffer = fmt.format(9876543, strBuffer, fpos); |
| Number obj = fmt.parse(str, ppos); |
| try { |
| obj = fmt.parse(str); |
| } catch (java.text.ParseException pe) { |
| System.out.println(pe); |
| } |
| } |
| |
| |
| // MessageFormat calling Format API |
| { |
| logln("MessageFormat"); |
| MessageFormat fmt = new MessageFormat(""); |
| // Format API |
| // We use dateObj, which MessageFormat should reject. |
| // We're testing name hiding, not the format method. |
| try { |
| str = fmt.format(dateObj); |
| } catch (Exception e) { |
| //e.printStackTrace(); |
| } |
| try { |
| strBuffer = fmt.format(dateObj, strBuffer, fpos); |
| } catch (Exception e) { |
| //e.printStackTrace(); |
| } |
| } |
| */ |
| } |
| } |