1 /* GENERATED SOURCE. DO NOT MODIFY. */ 2 // 2016 and later: Unicode, Inc. and others. 3 // License & terms of use: http://www.unicode.org/copyright.html#License 4 /* 5 ******************************************************************************* 6 * Copyright (C) 2014, International Business Machines Corporation and * 7 * others. All Rights Reserved. * 8 ******************************************************************************* 9 */ 10 package android.icu.dev.test.format; 11 12 import org.junit.Test; 13 import org.junit.runner.RunWith; 14 import org.junit.runners.JUnit4; 15 16 import android.icu.dev.test.TestFmwk; 17 import android.icu.text.DecimalFormat; 18 import android.icu.text.NumberFormat; 19 import android.icu.text.ScientificNumberFormatter; 20 import android.icu.util.ULocale; 21 import android.icu.testsharding.MainTestShard; 22 23 /** 24 * @author rocketman 25 * 26 */ 27 @MainTestShard 28 @RunWith(JUnit4.class) 29 public class ScientificNumberFormatterTest extends TestFmwk { 30 @Test 31 public void TestBasic() { 32 ScientificNumberFormatter markup = ScientificNumberFormatter.getMarkupInstance( 33 ULocale.ENGLISH, "<sup>", "</sup>"); 34 ScientificNumberFormatter superscript = ScientificNumberFormatter.getSuperscriptInstance(ULocale.ENGLISH); 35 assertEquals( 36 "toMarkupExponentDigits", 37 "1.2345610<sup>-78</sup>", 38 markup.format(1.23456e-78)); 39 assertEquals( 40 "toSuperscriptExponentDigits", 41 "1.2345610", 42 superscript.format(1.23456e-78)); 43 } 44 45 46 @Test 47 public void TestFarsi() { 48 ScientificNumberFormatter fmt = ScientificNumberFormatter.getMarkupInstance( 49 new ULocale("fa"), "<sup>", "</sup>"); 50 assertEquals( 51 "", 52 "<sup></sup>", 53 fmt.format(1.23456e-78)); 54 } 55 56 57 @Test 58 public void TestPlusSignInExponentMarkup() { 59 DecimalFormat decfmt = (DecimalFormat) NumberFormat.getScientificInstance(ULocale.ENGLISH); 60 decfmt.applyPattern("0.00E+0"); 61 ScientificNumberFormatter fmt = ScientificNumberFormatter.getMarkupInstance( 62 decfmt, "<sup>", "</sup>"); 63 64 assertEquals( 65 "", 66 "6.0210<sup>+23</sup>", 67 fmt.format(6.02e23)); 68 } 69 70 71 @Test 72 public void TestPlusSignInExponentSuperscript() { 73 DecimalFormat decfmt = (DecimalFormat) NumberFormat.getScientificInstance(ULocale.ENGLISH); 74 decfmt.applyPattern("0.00E+0"); 75 ScientificNumberFormatter fmt = ScientificNumberFormatter.getSuperscriptInstance( 76 decfmt); 77 assertEquals( 78 "", 79 "6.0210", 80 fmt.format(6.02e23)); 81 } 82 83 @Test 84 public void TestFixedDecimalMarkup() { 85 DecimalFormat decfmt = (DecimalFormat) NumberFormat.getInstance(ULocale.ENGLISH); 86 ScientificNumberFormatter fmt = ScientificNumberFormatter.getMarkupInstance( 87 decfmt, "<sup>", "</sup>"); 88 assertEquals( 89 "", 90 "123,456", 91 fmt.format(123456.0)); 92 } 93 94 @Test 95 public void TestFixedDecimalSuperscript() { 96 DecimalFormat decfmt = (DecimalFormat) NumberFormat.getInstance(ULocale.ENGLISH); 97 ScientificNumberFormatter fmt = ScientificNumberFormatter.getSuperscriptInstance(decfmt); 98 assertEquals( 99 "", 100 "123,456", 101 fmt.format(123456.0)); 102 } 103 } 104