From ad295ce20c6830e4b282f2a65f383bbf9ba96aef Mon Sep 17 00:00:00 2001 From: li Ethan Date: Sun, 13 Jun 2021 18:19:43 +0100 Subject: [PATCH] add new method and test --- .../xianwei/codecoveragetestapp/CalculatorViewModel.kt | 10 ++++------ .../com/xianwei/codecoveragetestapp/MainActivity.kt | 8 ++++++++ .../codecoveragetestapp/CalculatorViewModelTest.kt | 6 ++++++ 3 files changed, 18 insertions(+), 6 deletions(-) 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