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)
|
2023-01-31 15:30:38 +05:30
|
|
|
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
|
|
|
|
2023-01-31 15:30:38 +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)
|
2023-01-31 15:30:38 +05:30
|
|
|
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()
|
2023-01-31 15:30:38 +05:30
|
|
|
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
|
|
|
}
|