Home | History | Annotate | Download | only in format
      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