degrees + fix for tests
This commit is contained in:
@@ -20,7 +20,7 @@ public class FromJsclNumericTextProcessorTest {
|
||||
public void testCreateResultForComplexNumber() throws Exception {
|
||||
final FromJsclNumericTextProcessor cm = new FromJsclNumericTextProcessor();
|
||||
|
||||
Assert.assertEquals("1.22133+23123.0i", cm.createResultForComplexNumber("1.22133232+23123*i"));
|
||||
Assert.assertEquals("1.22133+23 123i", cm.createResultForComplexNumber("1.22133232+23123*i"));
|
||||
Assert.assertEquals("1.22133+1.2i", cm.createResultForComplexNumber("1.22133232+1.2*i"));
|
||||
Assert.assertEquals("1.22i", cm.createResultForComplexNumber("1.22*i"));
|
||||
Assert.assertEquals("i", cm.createResultForComplexNumber("i"));
|
||||
|
@@ -38,7 +38,7 @@ public class CalculatorEngineTest {
|
||||
} catch (EvalError evalError) {
|
||||
Assert.fail();
|
||||
} catch (ParseException e) {
|
||||
if ( e.getMessage().startsWith("Too long calculation") ) {
|
||||
if (e.getMessage().startsWith("Too long calculation")) {
|
||||
|
||||
} else {
|
||||
Assert.fail();
|
||||
@@ -52,7 +52,7 @@ public class CalculatorEngineTest {
|
||||
} catch (EvalError evalError) {
|
||||
Assert.fail();
|
||||
} catch (ParseException e) {
|
||||
if ( e.getMessage().startsWith("Too long calculation") ) {
|
||||
if (e.getMessage().startsWith("Too long calculation")) {
|
||||
final long end = System.currentTimeMillis();
|
||||
Assert.assertTrue(end - start < 1000);
|
||||
} else {
|
||||
@@ -102,7 +102,7 @@ public class CalculatorEngineTest {
|
||||
CalculatorEngine.instance.getVarsRegister().addVar(null, new Var.Builder("k1", 4d));
|
||||
Assert.assertEquals("4", cm.evaluate(JsclOperation.numeric, "k11"));
|
||||
|
||||
CalculatorEngine.instance.getVarsRegister().addVar(null, new Var.Builder("t", (String)null));
|
||||
CalculatorEngine.instance.getVarsRegister().addVar(null, new Var.Builder("t", (String) null));
|
||||
Assert.assertEquals("11t", cm.evaluate(JsclOperation.numeric, "t11"));
|
||||
Assert.assertEquals("11et", cm.evaluate(JsclOperation.numeric, "t11e"));
|
||||
Assert.assertEquals("11×Infinityt", cm.evaluate(JsclOperation.numeric, "t11∞"));
|
||||
@@ -115,13 +115,13 @@ public class CalculatorEngineTest {
|
||||
try {
|
||||
cm.evaluate(JsclOperation.numeric, "cos(cos(cos(cos(acos(acos(acos(acos(acos(acos(acos(acos(cos(cos(cos(cos(cosh(acos(cos(cos(cos(cos(cos(acos(acos(acos(acos(acos(acos(acos(acos(cos(cos(cos(cos(cosh(acos(cos())))))))))))))))))))))))))))))))))))))");
|
||||
Assert.fail();
|
||||
} catch (ParseException e){
|
||||
} catch (ParseException e) {
|
||||
}
|
||||
Assert.assertEquals("NaN", cm.evaluate(JsclOperation.numeric, "ln(ln(ln(ln(ln(ln(ln(ln(ln(ln(ln(ln(ln(ln(ln(100)))))))))))))))"));
|
||||
try {
|
||||
cm.evaluate(JsclOperation.numeric, "cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos())))))))))))))))))))))))))))))))))))");
|
||||
Assert.fail();
|
||||
} catch (ParseException e){
|
||||
} catch (ParseException e) {
|
||||
}
|
||||
Assert.assertEquals("0.739", cm.evaluate(JsclOperation.numeric, "cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(cos(1))))))))))))))))))))))))))))))))))))"));
|
||||
|
||||
@@ -151,4 +151,17 @@ public class CalculatorEngineTest {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDegrees() throws Exception {
|
||||
final CalculatorEngine cm = CalculatorEngine.instance;
|
||||
|
||||
cm.setPrecision(3);
|
||||
Assert.assertEquals("0.017", cm.evaluate(JsclOperation.numeric, "°"));
|
||||
Assert.assertEquals("0.017", cm.evaluate(JsclOperation.numeric, "1°"));
|
||||
Assert.assertEquals("0.349", cm.evaluate(JsclOperation.numeric, "20.0°"));
|
||||
Assert.assertEquals("0.5", cm.evaluate(JsclOperation.numeric, "sin(30°)"));
|
||||
Assert.assertEquals("0.524", cm.evaluate(JsclOperation.numeric, "asin(sin(30°))"));
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,8 @@ import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.text.DecimalFormatSymbols;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 10/20/11
|
||||
@@ -20,6 +22,9 @@ public class FromJsclSimplifyTextProcessorTest {
|
||||
public void testProcess() throws Exception {
|
||||
FromJsclSimplifyTextProcessor tp = new FromJsclSimplifyTextProcessor();
|
||||
Assert.assertEquals("(e)", tp.process("(2.718281828459045)"));
|
||||
DecimalFormatSymbols decimalGroupSymbols = new DecimalFormatSymbols();
|
||||
decimalGroupSymbols.setGroupingSeparator(' ');
|
||||
CalculatorEngine.instance.setDecimalGroupSymbols(decimalGroupSymbols);
|
||||
Assert.assertEquals("123 456 789e", tp.process("123456789*2.718281828459045"));
|
||||
Assert.assertEquals("123 456 789e", tp.process("123 456 789 * 2.718281828459045"));
|
||||
Assert.assertEquals("t11e", tp.process("t11*2.718281828459045"));
|
||||
|
@@ -107,4 +107,17 @@ public class ToJsclTextProcessorTest {
|
||||
Assert.assertEquals(2, preprocessor.getPostfixFunctionStart("2+sin(5sin(5sin(5)))!", 19));
|
||||
Assert.assertEquals(5, preprocessor.getPostfixFunctionStart("2.23+sin(5.4434234*sin(5.1+1))!", 29));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDegrees() throws Exception {
|
||||
final ToJsclTextProcessor preprocessor = new ToJsclTextProcessor();
|
||||
|
||||
Assert.assertEquals( "", preprocessor.process("").toString());
|
||||
Assert.assertEquals( "3.141592653589793/180", preprocessor.process("°").toString());
|
||||
Assert.assertEquals( "1*3.141592653589793/180", preprocessor.process("1°").toString());
|
||||
Assert.assertEquals( "20.0*3.141592653589793/180", preprocessor.process("20.0°").toString());
|
||||
Assert.assertEquals( "sin(30*3.141592653589793/180)", preprocessor.process("sin(30°)").toString());
|
||||
Assert.assertEquals( "asin(sin(3.141592653589793/6))*3.141592653589793/180", preprocessor.process("asin(sin(π/6))°").toString());
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -3,8 +3,8 @@ package org.solovyev.common;
|
||||
import junit.framework.Assert;
|
||||
import org.junit.Test;
|
||||
import org.solovyev.common.utils.Interval;
|
||||
import org.solovyev.common.utils.IntervalImpl;
|
||||
import org.solovyev.common.utils.Mapper;
|
||||
import org.solovyev.common.utils.NumberInterval;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
@@ -17,7 +17,7 @@ public class FloatIntervalMapperTest {
|
||||
public void testParse() throws Exception {
|
||||
final Mapper<Interval<Float>> mapper = new NumberIntervalMapper<Float>(Float.class);
|
||||
|
||||
Assert.assertEquals(new IntervalImpl<Float>(1.2f, 12.2f), mapper.parseValue("1.2;12.2"));
|
||||
Assert.assertEquals(new IntervalImpl<Float>(0f, 0f), mapper.parseValue("0;0"));
|
||||
Assert.assertEquals(new NumberInterval<Float>(1.2f, 12.2f), mapper.parseValue("1.2;12.2"));
|
||||
Assert.assertEquals(new NumberInterval<Float>(0f, 0f), mapper.parseValue("0;0"));
|
||||
}
|
||||
}
|
||||
|
@@ -13,7 +13,7 @@ public class DiscreteNormalizerTest {
|
||||
|
||||
@Test
|
||||
public void testNormalize() throws Exception {
|
||||
DiscreteNormalizer dn = new DiscreteNormalizer(0, 10, 1);
|
||||
DiscreteNormalizer dn = new DiscreteNormalizer(0, 10, 1d);
|
||||
|
||||
Assert.assertTrue(MathUtils.equals(0, dn.normalize(0.5), 2));
|
||||
Assert.assertTrue(MathUtils.equals(0, dn.normalize(0.99), 2));
|
||||
@@ -25,7 +25,7 @@ public class DiscreteNormalizerTest {
|
||||
|
||||
@Test
|
||||
public void testDenormalize() throws Exception {
|
||||
DiscreteNormalizer dn = new DiscreteNormalizer(0, 10, 1);
|
||||
DiscreteNormalizer dn = new DiscreteNormalizer(0, 10, 1d);
|
||||
|
||||
Assert.assertTrue(MathUtils.equals(0, dn.normalize(dn.denormalize(0)), 2));
|
||||
Assert.assertTrue(MathUtils.equals(0.1, dn.normalize(dn.denormalize(0.1)), 2));
|
||||
|
Reference in New Issue
Block a user