diff --git a/data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/LevenshteinTest.kt b/data/common/src/test/java/com/sadellie/unitto/data/common/LevenshteinTest.kt
similarity index 95%
rename from data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/LevenshteinTest.kt
rename to data/common/src/test/java/com/sadellie/unitto/data/common/LevenshteinTest.kt
index bd3ebf40..06d0b36d 100644
--- a/data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/LevenshteinTest.kt
+++ b/data/common/src/test/java/com/sadellie/unitto/data/common/LevenshteinTest.kt
@@ -16,9 +16,8 @@
* along with this program. If not, see .
*/
-package com.sadellie.unitto.data.converter
+package com.sadellie.unitto.data.common
-import com.sadellie.unitto.data.common.lev
import org.junit.Assert.assertEquals
import org.junit.Test
diff --git a/data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt b/data/converter/src/test/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
similarity index 91%
rename from data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
rename to data/converter/src/test/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
index 0e9ff4ba..59f6bfb3 100644
--- a/data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
+++ b/data/converter/src/test/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
@@ -18,13 +18,32 @@
package com.sadellie.unitto.data.converter
-import android.content.Context
-import androidx.room.Room
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.platform.app.InstrumentationRegistry
import com.sadellie.unitto.core.base.OutputFormat
import com.sadellie.unitto.data.common.format
-import com.sadellie.unitto.data.database.UnittoDatabase
+import com.sadellie.unitto.data.converter.collections.accelerationCollection
+import com.sadellie.unitto.data.converter.collections.angleCollection
+import com.sadellie.unitto.data.converter.collections.areaCollection
+import com.sadellie.unitto.data.converter.collections.currencyCollection
+import com.sadellie.unitto.data.converter.collections.dataCollection
+import com.sadellie.unitto.data.converter.collections.dataTransferCollection
+import com.sadellie.unitto.data.converter.collections.electrostaticCapacitance
+import com.sadellie.unitto.data.converter.collections.energyCollection
+import com.sadellie.unitto.data.converter.collections.flowRateCollection
+import com.sadellie.unitto.data.converter.collections.fluxCollection
+import com.sadellie.unitto.data.converter.collections.forceCollection
+import com.sadellie.unitto.data.converter.collections.fuelConsumptionCollection
+import com.sadellie.unitto.data.converter.collections.lengthCollection
+import com.sadellie.unitto.data.converter.collections.luminanceCollection
+import com.sadellie.unitto.data.converter.collections.massCollection
+import com.sadellie.unitto.data.converter.collections.numberBaseCollection
+import com.sadellie.unitto.data.converter.collections.powerCollection
+import com.sadellie.unitto.data.converter.collections.prefixCollection
+import com.sadellie.unitto.data.converter.collections.pressureCollection
+import com.sadellie.unitto.data.converter.collections.speedCollection
+import com.sadellie.unitto.data.converter.collections.temperatureCollection
+import com.sadellie.unitto.data.converter.collections.timeCollection
+import com.sadellie.unitto.data.converter.collections.torqueCollection
+import com.sadellie.unitto.data.converter.collections.volumeCollection
import com.sadellie.unitto.data.model.UnitGroup
import com.sadellie.unitto.data.model.unit.DefaultUnit
import com.sadellie.unitto.data.model.unit.NumberBaseUnit
@@ -33,20 +52,35 @@ import kotlinx.coroutines.runBlocking
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Test
-import org.junit.runner.RunWith
import java.math.BigDecimal
-@RunWith(AndroidJUnit4::class)
class AllUnitsTest {
private var history: MutableMap> = mutableMapOf()
- private val mContext: Context = InstrumentationRegistry.getInstrumentation().targetContext
- private val database = Room.inMemoryDatabaseBuilder(mContext, UnittoDatabase::class.java).build()
- private val allUnitsRepository = UnitsRepositoryImpl(
- unitsDao = database.unitsDao(),
- currencyRatesDao = database.currencyRatesDao(),
- mContext = mContext
- )
+ private val allUnits = lengthCollection +
+ currencyCollection +
+ massCollection +
+ speedCollection +
+ temperatureCollection +
+ areaCollection +
+ timeCollection +
+ volumeCollection +
+ dataCollection +
+ pressureCollection +
+ accelerationCollection +
+ energyCollection +
+ powerCollection +
+ angleCollection +
+ dataTransferCollection +
+ fluxCollection +
+ numberBaseCollection +
+ electrostaticCapacitance +
+ prefixCollection +
+ forceCollection +
+ torqueCollection +
+ flowRateCollection +
+ luminanceCollection +
+ fuelConsumptionCollection
@Test
fun testAcceleration() = testWithUnits {
@@ -551,9 +585,8 @@ class AllUnitsTest {
}
private fun String.checkWith(checkingId: String, value: String, expected: String) {
- val str = this
- val unitFrom = runBlocking { allUnitsRepository.getById(str) }
- val unitTo = runBlocking { allUnitsRepository.getById(checkingId) }
+ val unitFrom = allUnits.first { it.id == this }
+ val unitTo = allUnits.first { it.id == checkingId }
val actual = when (unitFrom.group) {
UnitGroup.NUMBER_BASE -> (unitFrom as NumberBaseUnit).convert((unitTo as NumberBaseUnit), value)
@@ -573,8 +606,12 @@ class AllUnitsTest {
@After
fun after() = runBlocking {
val unitGroup = history.keys.first()
+ val testedCount = history[unitGroup]?.size
+ val totalCount = allUnits.count { it.group == unitGroup }
+
// GROUP : testedCount / totalCount
- println("${unitGroup.name} : ${history[unitGroup]?.size} / ${allUnitsRepository.getCollection(unitGroup).size}")
+ println("${unitGroup.name} : $testedCount / $totalCount")
+ if (testedCount != totalCount) throw Exception("Didn't cover all units")
}
private fun testWithUnits(block: MyUnitIDS.() -> Unit): Unit = with(MyUnitIDS, block = block)