Store grouping separator in integer preference and remove boolean from Engine

This commit is contained in:
serso
2016-05-02 14:20:27 +02:00
parent 1c6651bd4b
commit 7e26b35199
10 changed files with 119 additions and 77 deletions

View File

@@ -1,9 +1,10 @@
package jscl;
import midpcalc.Real;
import org.junit.Before;
import org.junit.Test;
import midpcalc.Real;
import static org.junit.Assert.assertEquals;
/**
@@ -23,7 +24,7 @@ public class JsclMathEngineTest {
@Test
public void testFormat() throws Exception {
try {
me.setUseGroupingSeparator(true);
me.setGroupingSeparator(' ');
assertEquals("1", me.format(1d, NumeralBase.bin));
assertEquals("10", me.format(2d, NumeralBase.bin));
assertEquals("11", me.format(3d, NumeralBase.bin));
@@ -60,7 +61,7 @@ public class JsclMathEngineTest {
assertEquals("6.CCDA6A054226DB6E-19", me.format(0.00000000000000000000009d, NumeralBase.hex));
assertEquals("A.E15D766ED03E2BEE-20", me.format(0.000000000000000000000009d, NumeralBase.hex));
} finally {
me.setUseGroupingSeparator(false);
me.setGroupingSeparator(JsclMathEngine.GROUPING_SEPARATOR_NO);
}
assertEquals("1", me.format(1d, NumeralBase.bin));
@@ -93,7 +94,6 @@ public class JsclMathEngineTest {
@Test
public void testBinShouldAlwaysUseSpaceAsGroupingSeparator() throws Exception {
me.setGroupingSeparator('\'');
me.setUseGroupingSeparator(true);
assertEquals("100 0000 0000", me.format(1024d, NumeralBase.bin));
}
@@ -101,7 +101,6 @@ public class JsclMathEngineTest {
@Test
public void testHexShouldAlwaysUseSpaceAsGroupingSeparator() throws Exception {
me.setGroupingSeparator('\'');
me.setUseGroupingSeparator(true);
assertEquals("4 00", me.format(1024d, NumeralBase.hex));
}

View File

@@ -1,5 +1,18 @@
package jscl.math;
import org.junit.Test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import jscl.AngleUnit;
import jscl.JsclMathEngine;
import jscl.MathEngine;
@@ -8,19 +21,10 @@ import jscl.math.function.Constant;
import jscl.math.function.ExtendedConstant;
import jscl.math.function.IConstant;
import jscl.text.ParseException;
import org.junit.Test;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class ExpressionTest {
@@ -786,7 +790,7 @@ public class ExpressionTest {
public void testFormat() throws Exception {
final JsclMathEngine me = JsclMathEngine.getInstance();
try {
me.setUseGroupingSeparator(true);
me.setGroupingSeparator(' ');
assertEquals("123 456.7891011", Expression.valueOf("123456.7891011").numeric().toString());
assertEquals("123 456.7891011", Expression.valueOf("123456.7891011").simplify().toString());
assertEquals("123 456.7891011123", Expression.valueOf("123456.7891011123123123123123").simplify().toString());
@@ -831,7 +835,7 @@ public class ExpressionTest {
assertEquals("0.3333333333", Expression.valueOf("1/3").numeric().toString());
} finally {
me.setUseGroupingSeparator(false);
me.setGroupingSeparator(JsclMathEngine.GROUPING_SEPARATOR_NO);
me.setScienceNotation(false);
me.setRoundResult(false);
}