You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/05/22 19:23:12 UTC
[commons-numbers] 03/04: NUMBERS-97: Added test of parse method in
BigFractionTest, and updated outdated use of RoundingMode
This is an automated email from the ASF dual-hosted git repository.
ericbarnhill pushed a commit to branch fraction-dev
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit 346084171c7e4ef3a0706378c7c0fda5d684bdf8
Author: Eric Barnhill <eb...@irhythmtech.com>
AuthorDate: Fri May 17 15:54:19 2019 -0700
NUMBERS-97: Added test of parse method in BigFractionTest, and updated outdated use of RoundingMode
---
.../commons/numbers/fraction/BigFractionTest.java | 30 ++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
index d15d78f..9069e2b 100644
--- a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
+++ b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/BigFractionTest.java
@@ -18,6 +18,8 @@ package org.apache.commons.numbers.fraction;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.math.RoundingMode;
+
import org.apache.commons.numbers.core.TestUtils;
import org.junit.Assert;
@@ -580,8 +582,8 @@ public class BigFractionTest {
public void testBigDecimalValue() {
Assert.assertEquals(new BigDecimal(0.5), BigFraction.of(1, 2).bigDecimalValue());
Assert.assertEquals(new BigDecimal("0.0003"), BigFraction.of(3, 10000).bigDecimalValue());
- Assert.assertEquals(new BigDecimal("0"), BigFraction.of(1, 3).bigDecimalValue(BigDecimal.ROUND_DOWN));
- Assert.assertEquals(new BigDecimal("0.333"), BigFraction.of(1, 3).bigDecimalValue(3, BigDecimal.ROUND_DOWN));
+ Assert.assertEquals(new BigDecimal("0"), BigFraction.of(1, 3).bigDecimalValue(RoundingMode.DOWN));
+ Assert.assertEquals(new BigDecimal("0.333"), BigFraction.of(1, 3).bigDecimalValue(3, RoundingMode.DOWN));
}
@Test
@@ -648,4 +650,28 @@ public class BigFractionTest {
Assert.assertEquals(fraction, TestUtils.serializeAndRecover(fraction));
}
}
+
+
+ @Test
+ public void testParse() {
+ String[] validExpressions = new String[] {
+ "3",
+ "1 / 2",
+ "2147,483,647 / 2,147,483,648", //over largest int value
+ "9,223,372,036,854,775,807 / 9,223,372,036,854,775,808" //over largest long value
+ };
+ BigFraction[] fractions = {
+ BigFraction.of(3),
+ BigFraction.of(1, 2),
+ BigFraction.of(2147483647, 2147483648L),
+ BigFraction.of(new BigInteger("9223372036854775807"),
+ new BigInteger("9223372036854775808"))
+ };
+ int inc = 0;
+ for (BigFraction fraction: fractions) {
+ Assert.assertEquals(fraction,
+ BigFraction.parse(validExpressions[inc]));
+ inc++;
+ }
+ }
}