diff --git a/app/src/main/java/com/xianwei/codecoveragetestapp/CalculatorViewModel.kt b/app/src/main/java/com/xianwei/codecoveragetestapp/CalculatorViewModel.kt index cc03577..4ec6f3c 100644 --- a/app/src/main/java/com/xianwei/codecoveragetestapp/CalculatorViewModel.kt +++ b/app/src/main/java/com/xianwei/codecoveragetestapp/CalculatorViewModel.kt @@ -15,13 +15,11 @@ class CalculatorViewModel : ViewModel() { state.value = inputA - inputB } - fun onInputAUpdate(toString: String) { - + fun onMultiplyClicked(inputA: Int, inputB: Int) { + state.value = inputA * inputB } - fun onInputBUpdate(toString: String) { - - + fun onDividerClicked(inputA: Int, inputB: Int) { + state.value = inputA / inputB } - } \ No newline at end of file diff --git a/app/src/main/java/com/xianwei/codecoveragetestapp/MainActivity.kt b/app/src/main/java/com/xianwei/codecoveragetestapp/MainActivity.kt index 7851aaf..bc18dbf 100644 --- a/app/src/main/java/com/xianwei/codecoveragetestapp/MainActivity.kt +++ b/app/src/main/java/com/xianwei/codecoveragetestapp/MainActivity.kt @@ -42,9 +42,17 @@ class MainActivity : AppCompatActivity() { } binding.multiply.setOnClickListener { + if (validInput()) { + viewModel.onMultiplyClicked(inputA, inputB) + binding.sign.text = "*" + } } binding.divider.setOnClickListener { + if (validInput()) { + viewModel.onDividerClicked(inputA, inputB) + binding.sign.text = "/" + } } } diff --git a/app/src/test/java/com/xianwei/codecoveragetestapp/CalculatorViewModelTest.kt b/app/src/test/java/com/xianwei/codecoveragetestapp/CalculatorViewModelTest.kt index 07bc6e5..f573da9 100644 --- a/app/src/test/java/com/xianwei/codecoveragetestapp/CalculatorViewModelTest.kt +++ b/app/src/test/java/com/xianwei/codecoveragetestapp/CalculatorViewModelTest.kt @@ -32,4 +32,10 @@ class CalculatorViewModelTest { testViewModel.onPlusClicked(9, 2) assertEquals(11, testViewModel.state.value) } + + @Test + fun test_on_minus_click_method() { + testViewModel.onMinusClicked(9, 2) + assertEquals(7, testViewModel.state.value) + } } \ No newline at end of file