From 5ab401084141d37c03dc29c9028917b92e56ca68 Mon Sep 17 00:00:00 2001 From: Zhong Sheng Date: Thu, 18 Jun 2015 10:43:18 +0800 Subject: make BigDecimalTest.testMathContext a bit easier to understand --- test/junit/scala/math/BigDecimalTest.scala | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/test/junit/scala/math/BigDecimalTest.scala b/test/junit/scala/math/BigDecimalTest.scala index a801204cb2..a9e2481f37 100644 --- a/test/junit/scala/math/BigDecimalTest.scala +++ b/test/junit/scala/math/BigDecimalTest.scala @@ -233,27 +233,28 @@ class BigDecimalTest { @Test def testMathContext() { def testPrecision() { - val e = 1000 + val p = 1000 + val n = BigDecimal("1.1", MC.UNLIMITED).pow(p) - val n = BigDecimal("1.1", MC.UNLIMITED).pow(e) - assert(BigDecimal(1.1d, MC.UNLIMITED).pow(e) == n) - assert(BigDecimal.decimal(1.1d, MC.UNLIMITED).pow(e) == n) - assert(BigDecimal.decimal(1.1f, MC.UNLIMITED).pow(e) == n) - assert(BigDecimal.decimal(new BD("1.1"), MC.UNLIMITED).pow(e) == n) + // BigDecimal(x: Float, mc: MC), which may not do what you want, is deprecated + assert(BigDecimal(1.1f, MC.UNLIMITED).pow(p) == BigDecimal(java.lang.Double.toString(1.1f.toDouble), MC.UNLIMITED).pow(p)) + assert(BigDecimal(1.1d, MC.UNLIMITED).pow(p) == n) + assert(BigDecimal(new BD("1.1"), MC.UNLIMITED).pow(p) == n) - val m = BigDecimal(java.lang.Double.toString(1.1f.toDouble), MC.UNLIMITED).pow(e) - assert(BigDecimal(1.1f, MC.UNLIMITED).pow(e) == m) // deprecated + assert(BigDecimal.decimal(1.1f, MC.UNLIMITED).pow(p) == n) + assert(BigDecimal.decimal(1.1d, MC.UNLIMITED).pow(p) == n) + assert(BigDecimal.decimal(new BD("1.1"), MC.UNLIMITED).pow(p) == n) - val l = BigDecimal("11", MC.UNLIMITED).pow(e) - assert(BigDecimal(11, MC.UNLIMITED).pow(e) == l) - assert(BigDecimal.decimal(11, MC.UNLIMITED).pow(e) == l) + assert((BigDecimal(11, MC.UNLIMITED) / 10).pow(p) == n) + assert((BigDecimal.decimal(11, MC.UNLIMITED) / 10).pow(p) == n) } def testRounded() { + // the default rounding mode is HALF_UP + assert((BigDecimal(1.23f, new MC(3)) + BigDecimal("0.005")).rounded == BigDecimal("1.24")) // deprecated api assert((BigDecimal(1.23d, new MC(3)) + BigDecimal("0.005")).rounded == BigDecimal("1.24")) - assert((BigDecimal(1.23f, new MC(3)) + BigDecimal("0.005")).rounded == BigDecimal("1.24")) // deprecated - assert((BigDecimal.decimal(1.23d, new MC(3)) + BigDecimal("0.005")).rounded == BigDecimal("1.24")) assert((BigDecimal.decimal(1.23f, new MC(3)) + BigDecimal("0.005")).rounded == BigDecimal("1.24")) + assert((BigDecimal.decimal(1.23d, new MC(3)) + BigDecimal("0.005")).rounded == BigDecimal("1.24")) } testPrecision() -- cgit v1.2.3