Merge pull request #142 from WddVictor/master
Resolve the bug of C and add a test case
This commit is contained in:
commit
c530dd2056
|
@ -42,6 +42,22 @@ public class MainActivityTest {
|
|||
checkResult("5");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void clearComplexTest(){
|
||||
press(R.id.btn_1);
|
||||
press(R.id.btn_plus);
|
||||
press(R.id.btn_1);
|
||||
press(R.id.btn_decimal);
|
||||
press(R.id.btn_5);
|
||||
press(R.id.btn_5);
|
||||
press(R.id.btn_clear);
|
||||
press(R.id.btn_1);
|
||||
press(R.id.btn_equals);
|
||||
checkResult("2.51");
|
||||
checkFormula("1+1.51");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void additionTest() {
|
||||
press(R.id.btn_minus);
|
||||
|
|
|
@ -13,7 +13,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) {
|
|||
|
||||
private var mIsFirstOperation = false
|
||||
private var mResetValue = false
|
||||
private var mWasPercentLast = false
|
||||
private var mBaseValue = 0.0
|
||||
private var mSecondValue = 0.0
|
||||
|
||||
|
@ -62,9 +61,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) {
|
|||
setFormula(first + sign)
|
||||
} else if (!sign.isEmpty()) {
|
||||
var formula = first + sign + second
|
||||
if (mWasPercentLast) {
|
||||
formula += "%"
|
||||
}
|
||||
setFormula(formula)
|
||||
}
|
||||
}
|
||||
|
@ -111,9 +107,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) {
|
|||
|
||||
private fun calculateResult() {
|
||||
updateFormula()
|
||||
if (mWasPercentLast) {
|
||||
mSecondValue *= mBaseValue / 100
|
||||
}
|
||||
|
||||
val operation = OperationFactory.forId(mLastOperation!!, mBaseValue, mSecondValue)
|
||||
if (operation != null) {
|
||||
|
@ -124,7 +117,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) {
|
|||
}
|
||||
|
||||
fun handleOperation(operation: String) {
|
||||
mWasPercentLast = operation == PERCENT
|
||||
if (lastKey == DIGIT && operation != ROOT && operation != FACTORIAL) {
|
||||
handleResult()
|
||||
}
|
||||
|
@ -161,7 +153,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) {
|
|||
newValue = newValue.replace("\\.$".toRegex(), "")
|
||||
newValue = formatString(newValue)
|
||||
setValue(newValue)
|
||||
mBaseValue = Formatter.stringToDouble(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue