Files
hpos/app/src/test/java/com/example/hpostesting/TestRightViewModelTest.kt

101 lines
3.9 KiB
Kotlin
Raw Normal View History

2023-06-28 12:41:18 +05:30
package com.example.hpostesting
2023-01-24 17:13:26 +05:30
2023-06-28 12:41:18 +05:30
import com.example.hpostesting.data.DataHolder
import com.example.hpostesting.data.constant.Constants
import com.example.hpostesting.data.model.PatientData
import com.example.hpostesting.data.model.test.TestRightResultType
import com.example.hpostesting.presentation.testRight.TestRightViewModel
2023-01-24 17:13:26 +05:30
import junit.framework.Assert.assertEquals
import org.junit.Test
2023-02-04 21:19:21 +05:30
import java.math.RoundingMode
import java.text.DecimalFormat
2023-01-24 17:13:26 +05:30
class TestRightViewModelTest {
private val viewModel = TestRightViewModel()
2023-01-27 13:21:20 +05:30
private val data = InputData()
2023-01-24 17:13:26 +05:30
@Test
2023-02-04 21:19:21 +05:30
fun test_mapDeviceConstants() {
2023-01-27 13:21:20 +05:30
viewModel.mapDeviceConstants(data.inputRead)
assertEquals("0", DataHolder.deviceConstant!!.a)
assertEquals("1.69989422e-06", DataHolder.deviceConstant!!.b)
assertEquals("1.60642711e-01", DataHolder.deviceConstant!!.c)
assertEquals("3.85754470e+02", DataHolder.deviceConstant!!.d)
2023-01-24 17:13:26 +05:30
}
@Test
2023-02-04 21:19:21 +05:30
fun test_mapPixelNumberToWavelength() {
2023-01-27 13:21:20 +05:30
viewModel.mapDeviceConstants(data.inputRead)
2023-01-24 17:13:26 +05:30
viewModel.mapPixelNumberToWavelength()
2023-02-04 21:19:21 +05:30
val outputList = TestDataGenerator().getOutputMapPixelNumberToWavelength()
2023-01-24 17:13:26 +05:30
assertEquals(Constants.TEST_RIGHT_TOTAL_PIXEL, DataHolder.wavelengthToPixelArray.size)
2023-02-04 21:19:21 +05:30
assertEquals(Constants.TEST_RIGHT_TOTAL_PIXEL, outputList.size)
val df = DecimalFormat("#.###")
df.roundingMode = RoundingMode.FLOOR
for (i in 0 until Constants.TEST_RIGHT_TOTAL_PIXEL){
assertEquals(df.format(outputList[i]), df.format(DataHolder.wavelengthToPixelArray[i]))
}
2023-01-24 17:13:26 +05:30
}
2023-02-04 21:19:21 +05:30
// @Test
// fun test_mapIntensityValues() {
// val inputReference = TestDataGenerator().getInputReferenceMapIntensityValues()
// val inputSample = TestDataGenerator().getInputSampleMapIntensityValues()
//
// viewModel.mapIntensityValues(inputReference, true)
// viewModel.mapIntensityValues(inputSample, false)
//
// val outputReference = TestDataGenerator().getOutputReferenceMapIntensityValues()
// val outputSample = TestDataGenerator().getOutputSampleMapIntensityValues()
//
// assertEquals(outputReference, DataHolder.intensityReferenceArray)
// assertEquals(outputSample, viewModel.intensitySampleArray)
// }
2023-01-24 17:13:26 +05:30
@Test
2023-02-04 21:19:21 +05:30
fun test_mapWavelengthToAbsorbance() {
2023-01-24 17:13:26 +05:30
2023-01-27 13:21:20 +05:30
viewModel.mapDeviceConstants(data.inputRead)
viewModel.mapPixelNumberToWavelength()
2023-02-04 21:19:21 +05:30
viewModel.mapIntensityValues(TestDataGenerator().getInputReferenceMapIntensityValues(), true)
viewModel.mapIntensityValues(TestDataGenerator().getInputSampleMapIntensityValues(), false)
viewModel.patientDetails = PatientData("Surya", 2, "Male", TestRightResultType.UNDEFINED)
2023-02-04 21:19:21 +05:30
viewModel.mapWavelengthToAbsorbance()
val wavelengthList = TestDataGenerator().getOutputMapPixelNumberToWavelength()
val absorbanceList = TestDataGenerator().getOutputMapWavelengthToAbsorbance()
val df = DecimalFormat("#.###")
df.roundingMode = RoundingMode.FLOOR
2023-01-24 17:13:26 +05:30
2023-02-04 21:19:21 +05:30
assertEquals(Constants.TEST_RIGHT_TOTAL_PIXEL, viewModel.wavelengthToAbsorbance.size)
for (i in 0 until Constants.TEST_RIGHT_TOTAL_PIXEL){
assertEquals(df.format(wavelengthList[i]), df.format(viewModel.wavelengthToAbsorbance[i][0]))
assertEquals(df.format(absorbanceList[i]), df.format(viewModel.wavelengthToAbsorbance[i][1]))
}
2023-01-27 13:21:20 +05:30
}
@Test
fun testRightViewModel_calculateDataForCSV() {
viewModel.mapDeviceConstants(data.inputRead)
viewModel.mapPixelNumberToWavelength()
viewModel.mapIntensityValues(data.printForReference, true)
viewModel.mapIntensityValues(data.printForSample, false)
// viewModel.patientDetails = PatientData("Surya", 2, "Male", null)
// viewModel.calculateResults()
viewModel.mapWavelengthToAbsorbance()
2023-01-24 17:13:26 +05:30
2023-01-27 13:21:20 +05:30
for (each in viewModel.wavelengthToAbsorbance){
println(each[0].toString() + " -> " + each[1])
}
2023-01-24 17:13:26 +05:30
}
2023-01-27 13:21:20 +05:30
2023-01-24 17:13:26 +05:30
}