17935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/*
27935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert******************************************************************************
37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert* Copyright (C) 2007-2010, International Business Machines Corporation and   *
47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert* others. All Rights Reserved.                                               *
57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert******************************************************************************
67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*/
77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// Copyright 2006 Google Inc.  All Rights Reserved.
97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.dev.test.duration.languages;
117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.dev.test.duration.LanguageTestRoot;
137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.impl.duration.BasicPeriodFormatterFactory;
147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.impl.duration.Period;
157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.impl.duration.PeriodFormatter;
167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.impl.duration.TimeUnitConstants;
177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/**
197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Test cases for en
207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */
217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic class Test_ja extends LanguageTestRoot implements TimeUnitConstants {
227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  private BasicPeriodFormatterFactory pff;
237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  /**
257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert   * Invoke the tests.
267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert   */
277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  public static void main(String[] args) {
287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert      new Test_ja().run(args);
297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  }
307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  /**
327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert   * Constructor.
337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert   */
347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  public Test_ja() {
357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    super("ja", false);
367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    this.pff = (BasicPeriodFormatterFactory)BasicPeriodFormatterFactory.getDefault().
377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert        setLocale("ja");
387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  }
397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  public void testNoMillis() {
417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    // explicit test that japanese doesn't use both seconds
427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    // and milliseconds when formatting.  if both appear,
437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    // force decimal3 seconds and merge millis with it.
447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert      logln("test disabled");
457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert      /*
467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    PeriodFormatter pf = pff.getFormatter();
477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    Period p = Period.at(1, MILLISECOND);
487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    assertEquals(null, "1\u30df\u30ea\u79d2\u524d", pf.format(p));
497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    p.and(1, SECOND);
517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    assertEquals(null, "1.001\u79d2\u524d", pf.format(p));
527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    p.and(1, MINUTE).omit(SECOND);
547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    assertEquals(null, "1\u5206\u30681\u30df\u30ea\u79d2\u524d", pf.format(p));
557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert      */
567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  }
577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  public void testOmitZeros() {
597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    // zeros are treated as omitted
607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert
617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    PeriodFormatter pf = pff.getFormatter();
627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    Period p = Period.at(1, MINUTE).and(0, SECOND).and(1, MILLISECOND);
637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    String s1 = pf.format(p);
647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    p.omit(SECOND);
657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    String s2 = pf.format(p);
667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert    assertEquals(null, s1, s2);
677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert  }
687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert}
69