CalculatorAndroidEngine and CalculatorEngineImple merged into one Engine
This commit is contained in:
@@ -23,22 +23,19 @@
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.squareup.otto.Bus;
|
||||
|
||||
import jscl.JsclMathEngine;
|
||||
import org.junit.Assert;
|
||||
import org.mockito.Mockito;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.fakes.RoboSharedPreferences;
|
||||
import org.solovyev.android.calculator.jscl.JsclOperation;
|
||||
import org.solovyev.android.calculator.language.Languages;
|
||||
import org.solovyev.android.calculator.plot.CalculatorPlotter;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.Serializable;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.*;
|
||||
import java.text.DecimalFormatSymbols;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -46,11 +43,6 @@ import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import jscl.JsclMathEngine;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 10/7/12
|
||||
@@ -87,17 +79,17 @@ public class CalculatorTestUtils {
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
static CalculatorEngineImpl newCalculatorEngine() {
|
||||
static Engine newCalculatorEngine() {
|
||||
final MathEntityDao mathEntityDao = Mockito.mock(MathEntityDao.class);
|
||||
|
||||
final JsclMathEngine jsclEngine = JsclMathEngine.getInstance();
|
||||
|
||||
final CalculatorVarsRegistry varsRegistry = new CalculatorVarsRegistry(jsclEngine.getConstantsRegistry(), mathEntityDao);
|
||||
final VarsRegistry varsRegistry = new VarsRegistry(jsclEngine.getConstantsRegistry(), mathEntityDao);
|
||||
final FunctionsRegistry functionsRegistry = new FunctionsRegistry(jsclEngine.getFunctionsRegistry(), mathEntityDao);
|
||||
final CalculatorOperatorsMathRegistry operatorsRegistry = new CalculatorOperatorsMathRegistry(jsclEngine.getOperatorsRegistry(), mathEntityDao);
|
||||
final CalculatorPostfixFunctionsRegistry postfixFunctionsRegistry = new CalculatorPostfixFunctionsRegistry(jsclEngine.getPostfixFunctionsRegistry(), mathEntityDao);
|
||||
final OperatorsRegistry operatorsRegistry = new OperatorsRegistry(jsclEngine.getOperatorsRegistry(), mathEntityDao);
|
||||
final PostfixFunctionsRegistry postfixFunctionsRegistry = new PostfixFunctionsRegistry(jsclEngine.getPostfixFunctionsRegistry(), mathEntityDao);
|
||||
|
||||
return new CalculatorEngineImpl(jsclEngine, varsRegistry, functionsRegistry, operatorsRegistry, postfixFunctionsRegistry, null);
|
||||
return new Engine(RuntimeEnvironment.application, jsclEngine, varsRegistry, functionsRegistry, operatorsRegistry, postfixFunctionsRegistry);
|
||||
}
|
||||
|
||||
public static void assertEval(@Nonnull String expected, @Nonnull String expression) {
|
||||
|
@@ -23,7 +23,8 @@
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import android.graphics.Color;
|
||||
|
||||
import jscl.MathEngine;
|
||||
import jscl.NumeralBase;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.solovyev.android.calculator.text.TextProcessor;
|
||||
@@ -32,12 +33,7 @@ import org.solovyev.android.calculator.view.TextHighlighter;
|
||||
import java.util.Date;
|
||||
import java.util.Random;
|
||||
|
||||
import jscl.MathEngine;
|
||||
import jscl.NumeralBase;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
@@ -119,7 +115,7 @@ public class TextHighlighterTest {
|
||||
assertEquals("<b>0x:</b>FF33233FFE", textHighlighter.process("0x:FF33233FFE").toString());
|
||||
assertEquals("<b>0x:</b>FF33 233 FFE", textHighlighter.process("0x:FF33 233 FFE").toString());
|
||||
|
||||
final MathEngine me = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine me = Locator.getInstance().getEngine().getMathEngine();
|
||||
try {
|
||||
me.setNumeralBase(NumeralBase.hex);
|
||||
assertEquals("E", textHighlighter.process("E").toString());
|
||||
|
@@ -24,9 +24,7 @@ package org.solovyev.android.calculator.history;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Handler;
|
||||
|
||||
import com.squareup.otto.Bus;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -34,27 +32,17 @@ import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.solovyev.android.CalculatorTestRunner;
|
||||
import org.solovyev.android.calculator.BuildConfig;
|
||||
import org.solovyev.android.calculator.Display;
|
||||
import org.solovyev.android.calculator.DisplayState;
|
||||
import org.solovyev.android.calculator.Editor;
|
||||
import org.solovyev.android.calculator.EditorState;
|
||||
import org.solovyev.android.calculator.*;
|
||||
import org.solovyev.android.calculator.jscl.JsclOperation;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.anyString;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences.groupingSeparator;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.solovyev.android.calculator.Engine.Preferences.groupingSeparator;
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = CalculatorTestRunner.SUPPORTED_SDK)
|
||||
@RunWith(RobolectricGradleTestRunner.class)
|
||||
|
@@ -53,7 +53,7 @@ import static org.junit.Assert.fail;
|
||||
*/
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
public class AndroidEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@BeforeClass
|
||||
public static void staticSetUp() throws Exception {
|
||||
@@ -64,7 +64,7 @@ public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testDegrees() throws Exception {
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine();
|
||||
|
||||
final AngleUnit defaultAngleUnit = cm.getAngleUnits();
|
||||
try {
|
||||
@@ -85,7 +85,7 @@ public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testFormatting() throws Exception {
|
||||
final MathEngine ce = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine ce = Locator.getInstance().getEngine().getMathEngine();
|
||||
|
||||
CalculatorTestUtils.assertEval("12 345", ce.simplify("12345"));
|
||||
|
||||
@@ -93,7 +93,7 @@ public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testI() throws ParseException, CalculatorEvalException {
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine();
|
||||
|
||||
CalculatorTestUtils.assertEval("-i", cm.evaluate("i^3"));
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
@@ -118,7 +118,7 @@ public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testEmptyFunction() throws Exception {
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine();
|
||||
try {
|
||||
cm.evaluate("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();
|
||||
@@ -147,7 +147,7 @@ public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testRounding() throws Exception {
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine();
|
||||
|
||||
try {
|
||||
DecimalFormatSymbols decimalGroupSymbols = new DecimalFormatSymbols(Locale.getDefault());
|
||||
@@ -171,7 +171,7 @@ public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testNumeralSystems() throws Exception {
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine();
|
||||
|
||||
CalculatorTestUtils.assertEval("11 259 375", "0x:ABCDEF");
|
||||
CalculatorTestUtils.assertEval("30 606 154.462", "0x:ABCDEF*e");
|
||||
@@ -200,7 +200,7 @@ public class AndroidCalculatorEngineTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testLog() throws Exception {
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine();
|
||||
|
||||
CalculatorTestUtils.assertEval("∞", Expression.valueOf("1/0").numeric().toString());
|
||||
CalculatorTestUtils.assertEval("∞", Expression.valueOf("ln(10)/ln(1)").numeric().toString());
|
@@ -54,7 +54,7 @@ public class EvaluateTest extends AbstractCalculatorTest {
|
||||
|
||||
@Test
|
||||
public void testEvaluate() throws Exception {
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine0();
|
||||
final MathEngine cm = Locator.getInstance().getEngine().getMathEngine();
|
||||
|
||||
final AngleUnit defaultAngleUnit = cm.getAngleUnits();
|
||||
|
||||
|
@@ -58,11 +58,11 @@ public class NumeralBaseTest extends AbstractCalculatorTest {
|
||||
final String bin = "0b:" + line[2].toUpperCase();
|
||||
|
||||
final String decExpression = converter.convert(dec);
|
||||
final String decResult = Locator.getInstance().getEngine().getEngine().evaluate(decExpression);
|
||||
final String decResult = Locator.getInstance().getEngine().getMathEngine().evaluate(decExpression);
|
||||
final String hexExpression = converter.convert(hex);
|
||||
final String hexResult = Locator.getInstance().getEngine().getEngine().evaluate(hexExpression);
|
||||
final String hexResult = Locator.getInstance().getEngine().getMathEngine().evaluate(hexExpression);
|
||||
final String binExpression = converter.convert(bin);
|
||||
final String binResult = Locator.getInstance().getEngine().getEngine().evaluate(binExpression);
|
||||
final String binResult = Locator.getInstance().getEngine().getMathEngine().evaluate(binExpression);
|
||||
|
||||
Assert.assertEquals("dec-hex: " + decExpression + " : " + hexExpression, decResult, hexResult);
|
||||
Assert.assertEquals("dec-bin: " + decExpression + " : " + binExpression, decResult, binResult);
|
||||
|
Reference in New Issue
Block a user