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