refactor + russian language support
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
* For more information, please, contact se.solovyev@gmail.com
|
||||
* or visit http://se.solovyev.org
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator.math;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.solovyev.android.calculator.CalculatorModel;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 10/5/11
|
||||
* Time: 1:25 AM
|
||||
*/
|
||||
public class MathEntityTypeTest {
|
||||
|
||||
@BeforeClass
|
||||
public static void setUp() throws Exception {
|
||||
CalculatorModel.init(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetType() throws Exception {
|
||||
Assert.assertEquals(MathEntityType.function, MathEntityType.getType("sin", 0).getMathEntityType());
|
||||
Assert.assertEquals(MathEntityType.text, MathEntityType.getType("sn", 0).getMathEntityType());
|
||||
Assert.assertEquals(MathEntityType.text, MathEntityType.getType("s", 0).getMathEntityType());
|
||||
Assert.assertEquals(MathEntityType.text, MathEntityType.getType("", 0).getMathEntityType());
|
||||
|
||||
try {
|
||||
Assert.assertEquals(MathEntityType.text, MathEntityType.getType("22", -1).getMathEntityType());
|
||||
Assert.fail();
|
||||
} catch (IllegalArgumentException e) {
|
||||
}
|
||||
|
||||
try {
|
||||
Assert.assertEquals(MathEntityType.text, MathEntityType.getType("22", 2).getMathEntityType());
|
||||
Assert.fail();
|
||||
} catch (IllegalArgumentException e) {
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
* For more information, please, contact se.solovyev@gmail.com
|
||||
* or visit http://se.solovyev.org
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator.math;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.solovyev.android.calculator.model.CalculatorModel;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 10/5/11
|
||||
* Time: 1:25 AM
|
||||
*/
|
||||
public class MathTypeTest {
|
||||
|
||||
@BeforeClass
|
||||
public static void setUp() throws Exception {
|
||||
CalculatorModel.instance.init(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetType() throws Exception {
|
||||
Assert.assertEquals(MathType.function, MathType.getType("sin", 0).getMathType());
|
||||
Assert.assertEquals(MathType.text, MathType.getType("sn", 0).getMathType());
|
||||
Assert.assertEquals(MathType.text, MathType.getType("s", 0).getMathType());
|
||||
Assert.assertEquals(MathType.text, MathType.getType("", 0).getMathType());
|
||||
|
||||
try {
|
||||
Assert.assertEquals(MathType.text, MathType.getType("22", -1).getMathType());
|
||||
Assert.fail();
|
||||
} catch (IllegalArgumentException e) {
|
||||
}
|
||||
|
||||
try {
|
||||
Assert.assertEquals(MathType.text, MathType.getType("22", 2).getMathType());
|
||||
Assert.fail();
|
||||
} catch (IllegalArgumentException e) {
|
||||
}
|
||||
}
|
||||
}
|
@@ -3,12 +3,13 @@
|
||||
* For more information, please, contact se.solovyev@gmail.com
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator;
|
||||
package org.solovyev.android.calculator.model;
|
||||
|
||||
import bsh.EvalError;
|
||||
import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.solovyev.android.calculator.JsclOperation;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
@@ -19,12 +20,12 @@ public class CalculatorModelTest {
|
||||
|
||||
@BeforeClass
|
||||
public static void setUp() throws Exception {
|
||||
CalculatorModel.init(null);
|
||||
CalculatorModel.instance.init(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEvaluate() throws Exception {
|
||||
final CalculatorModel cm = CalculatorModel.getInstance();
|
||||
final CalculatorModel cm = CalculatorModel.instance;
|
||||
|
||||
Assert.assertEquals("4.0", cm.evaluate(JsclOperation.numeric, "2+2"));
|
||||
Assert.assertEquals("-0.7568", cm.evaluate(JsclOperation.numeric, "sin(4)"));
|
||||
@@ -47,7 +48,7 @@ public class CalculatorModelTest {
|
||||
Assert.assertEquals("-3.41007+3.41007i", cm.evaluate(JsclOperation.numeric, "(5tan(2i)+2i)/(1-i)"));
|
||||
Assert.assertEquals("-0.1-0.2i", cm.evaluate(JsclOperation.numeric, "(1-i)/(2+6i)"));
|
||||
|
||||
CalculatorModel.getInstance().getVarsRegister().addVar(null, new Var.Builder("si", 5d));
|
||||
CalculatorModel.instance.getVarsRegister().addVar(null, new Var.Builder("si", 5d));
|
||||
Assert.assertEquals("5.0", cm.evaluate(JsclOperation.numeric, "si"));
|
||||
try {
|
||||
cm.evaluate(JsclOperation.numeric, "sin");
|
||||
@@ -60,17 +61,17 @@ public class CalculatorModelTest {
|
||||
Assert.assertEquals("-23.97311", cm.evaluate(JsclOperation.numeric, "si*sin(5)si"));
|
||||
Assert.assertEquals("-3.30879", cm.evaluate(JsclOperation.numeric, "sisin(5si)si"));
|
||||
|
||||
CalculatorModel.getInstance().getVarsRegister().addVar(null, new Var.Builder("s", 1d));
|
||||
CalculatorModel.instance.getVarsRegister().addVar(null, new Var.Builder("s", 1d));
|
||||
Assert.assertEquals("5.0", cm.evaluate(JsclOperation.numeric, "si"));
|
||||
|
||||
CalculatorModel.getInstance().getVarsRegister().addVar(null, new Var.Builder("k", 3.5d));
|
||||
CalculatorModel.getInstance().getVarsRegister().addVar(null, new Var.Builder("k1", 4d));
|
||||
CalculatorModel.instance.getVarsRegister().addVar(null, new Var.Builder("k", 3.5d));
|
||||
CalculatorModel.instance.getVarsRegister().addVar(null, new Var.Builder("k1", 4d));
|
||||
Assert.assertEquals("4.0", cm.evaluate(JsclOperation.numeric, "k11"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testComplexNumbers() throws Exception {
|
||||
final CalculatorModel cm = CalculatorModel.getInstance();
|
||||
final FromJsclTextProcessor cm = new FromJsclTextProcessor();
|
||||
|
||||
Assert.assertEquals("1.22133+23123.0i", cm.createResultForComplexNumber("1.22133232+23123*i"));
|
||||
Assert.assertEquals("1.22133+1.2i", cm.createResultForComplexNumber("1.22133232+1.2*i"));
|
@@ -4,7 +4,7 @@
|
||||
* or visit http://se.solovyev.org
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator;
|
||||
package org.solovyev.android.calculator.model;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
@@ -18,7 +18,7 @@ public class ToJsclPreprocessorTest {
|
||||
|
||||
@Test
|
||||
public void testProcess() throws Exception {
|
||||
final ToJsclPreprocessor preprocessor = new ToJsclPreprocessor();
|
||||
final ToJsclTextProcessor preprocessor = new ToJsclTextProcessor();
|
||||
|
||||
Assert.assertEquals( "sin(4)*cos(5)", preprocessor.process("sin(4)cos(5)"));
|
||||
Assert.assertEquals( "pi*sin(4)*pi*cos(sqrt(5))", preprocessor.process("πsin(4)πcos(√(5))"));
|
||||
@@ -30,7 +30,7 @@ public class ToJsclPreprocessorTest {
|
||||
|
||||
@Test
|
||||
public void testPostfixFunctionsProcessing() throws Exception {
|
||||
final ToJsclPreprocessor preprocessor = new ToJsclPreprocessor();
|
||||
final ToJsclTextProcessor preprocessor = new ToJsclTextProcessor();
|
||||
|
||||
Assert.assertEquals(-1, preprocessor.getPostfixFunctionStart("5!", 0));
|
||||
Assert.assertEquals(0, preprocessor.getPostfixFunctionStart("!", 0));
|
Reference in New Issue
Block a user