diff --git a/core/base/src/main/res/values/strings.xml b/core/base/src/main/res/values/strings.xml
index 1b0cf92c..337f9d35 100644
--- a/core/base/src/main/res/values/strings.xml
+++ b/core/base/src/main/res/values/strings.xml
@@ -95,7 +95,7 @@ Used in this dialog window. Should be short -->
History view
Clear cache
Clear input
- Start new expression when clicking \"=\" and clicking any button
+ Start new expression when clicking \"=\" and any button
Color scheme
Color theme
Pick a theming mode
@@ -257,31 +257,39 @@ Maybe this can be labeled better? Let me know. It should be something that can d
Third Cosmic Velocity
v3
Cubic centimeter
- cm^3
+ cm³
+ Cubic foot
Cubic Foot/hour
- ft3/h
+ ft³/h
Cubic Foot/minute
- ft3/m
+ ft³/m
Cubic Foot/second
- ft3/s
+ ft³/s
+ ft³
+ Cubic inch
+ in³
Cubic kilometer
- km^3
+ km³
Cubic meter
Cubic Meter/hour
- m3/h
+ m³/h
Cubic Meter/minute
- m3/m
+ m³/m
Cubic Meter/second
- m3/s
- m^3
+ m³/s
+ m³
+ Cubic mile
+ mi³
Cubic millimeter
Cubic Millimeter/hour
- mm3/h
+ mm³/h
Cubic Millimeter/minute
- mm3/m
+ mm³/m
Cubic Millimeter/second
- mm3/s
- mm^3
+ mm³/s
+ mm³
+ Cubic yard
+ yd³
1inch Network
NCH
Cardano
@@ -787,13 +795,13 @@ Maybe this can be labeled better? Let me know. It should be something that can d
Gallon/second (US)
gal/s
Gallon/100 mile (UK)
- gal/100 mi (UK)
+ gal/100 mi
Gallon/mile (UK)
- gal/mi (UK)
+ gal/mi
Gallon/100 mile (US)
- gal/100 mi (US)
+ gal/100 mi
Gallon/mile (US)
- gal/mi (US)
+ gal/mi
Gibibit
Gibibit/second
Gib/s
@@ -828,6 +836,8 @@ Maybe this can be labeled better? Let me know. It should be something that can d
gf*m
Gram-force millimeter
gf*mm
+ Gram-force/square centimeter
+ gf/cm²
gf
g
Acceleration
@@ -867,21 +877,21 @@ Maybe this can be labeled better? Let me know. It should be something that can d
Hour
h
Imperial cup
- cup (UK)
+ cup
Imperial fluid ounce
- fl oz (UK)
+ fl oz
Imperial gallon
- gal (UK)
+ gal
Imperial pint
- pt (UK)
+ pt
Imperial quart
- qt (UK)
+ qt
Imperial tablespoon
- tablespoon (UK)
+ tablespoon
Imperial teaspoon
- teaspoon (UK)
+ teaspoon
Imperial ton
- t (UK)
+ t
Inch
in
Jiffy
@@ -930,6 +940,10 @@ Maybe this can be labeled better? Let me know. It should be something that can d
kgf*m
Kilogram-force millimeter
kgf*mm
+ Kilogram-force/square centimeter
+ kgf/cm²
+ Kilogram-force/square meter
+ kgf/m²
kgf
kg
Kilojoule
@@ -1051,11 +1065,11 @@ Maybe this can be labeled better? Let me know. It should be something that can d
Metric ton
t
Mile/gallon (UK)
- mpg (UK)
+ mpg
Mile/gallon (US)
- mpg (US)
+ mpg
Mile/liter (US)
- mi/L (US)
+ mi/L
Microfarad
µF
Microgram
@@ -1193,6 +1207,10 @@ Maybe this can be labeled better? Let me know. It should be something that can d
lbf*ft
Pound-force inch
lbf*in
+ Pound-force/square foot
+ pf/f²
+ Pound-force/square inch
+ pf/in²
lbf
lbs
Atto
@@ -1332,19 +1350,19 @@ Maybe this can be labeled better? Let me know. It should be something that can d
Uranus surface gravity
Uranus g
US fluid ounce
- fl oz (US)
+ fl oz
US legal cup
- cup (US)
+ cup
US liquid gallon
- gal (US)
+ gal
US liquid pint
- pt (US)
+ pt
US liquid quart
- qt (US)
+ qt
US tablespoon
- tablespoon (US)
+ tablespoon
US teaspoon
- teaspoon (US)
+ teaspoon
Speed of light in vacuum
c
Venus equatorial radius
diff --git a/data/converter/build.gradle.kts b/data/converter/build.gradle.kts
index 099f9476..21c6c1c8 100644
--- a/data/converter/build.gradle.kts
+++ b/data/converter/build.gradle.kts
@@ -35,8 +35,6 @@ android {
}
dependencies {
- testImplementation(libs.org.robolectric.robolectric)
-
implementation(libs.androidx.lifecycle.lifecycle.runtime.compose)
implementation(libs.androidx.datastore.datastore.preferences)
diff --git a/data/converter/src/test/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt b/data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
similarity index 97%
rename from data/converter/src/test/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
rename to data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
index 34810cac..0e9ff4ba 100644
--- a/data/converter/src/test/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
+++ b/data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/AllUnitsTest.kt
@@ -20,6 +20,8 @@ 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
@@ -32,15 +34,13 @@ import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import org.robolectric.RobolectricTestRunner
-import org.robolectric.RuntimeEnvironment
import java.math.BigDecimal
-@RunWith(RobolectricTestRunner::class)
+@RunWith(AndroidJUnit4::class)
class AllUnitsTest {
private var history: MutableMap> = mutableMapOf()
- private val mContext: Context = RuntimeEnvironment.getApplication().applicationContext
+ private val mContext: Context = InstrumentationRegistry.getInstrumentation().targetContext
private val database = Room.inMemoryDatabaseBuilder(mContext, UnittoDatabase::class.java).build()
private val allUnitsRepository = UnitsRepositoryImpl(
unitsDao = database.unitsDao(),
@@ -257,6 +257,11 @@ class AllUnitsTest {
torr.checkWith(hectopascal, "456", "607.95")
micron_of_mercury.checkWith(hectopascal, "456", "0.60795")
millimeter_of_mercury.checkWith(hectopascal, "456", "607.95")
+ kilogram_force_per_square_meter.checkWith(dekapascal, "456", "447.18324")
+ kilogram_force_per_square_centimeter.checkWith(dekapascal, "456", "4471832.4")
+ gram_force_per_square_centimeter.checkWith(dekapascal, "456", "4471.8324")
+ pound_force_per_square_foot.checkWith(dekapascal, "456", "2183.33981")
+ pound_force_per_square_inch.checkWith(dekapascal, "456", "314400.93257")
}
@Test
@@ -362,6 +367,10 @@ class AllUnitsTest {
cubic_centimeter.checkWith(us_liquid_gallon, "1507", "0.39811")
cubic_meter.checkWith(us_liquid_gallon, "1507", "398107.2829")
cubic_kilometer.checkWith(us_liquid_gallon, "0.0000001507", "39810.72829")
+ cubic_inch.checkWith(us_liquid_gallon, "1507", "6.52381")
+ cubic_foot.checkWith(us_liquid_gallon, "1507", "11273.14286")
+ cubic_yard.checkWith(us_liquid_gallon, "1507", "304374.85714")
+ cubic_mile.checkWith(us_liquid_gallon, "0.00001507", "16593835.41175")
}
@Test
diff --git a/data/converter/src/test/java/com/sadellie/unitto/data/converter/LevenshteinTest.kt b/data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/LevenshteinTest.kt
similarity index 100%
rename from data/converter/src/test/java/com/sadellie/unitto/data/converter/LevenshteinTest.kt
rename to data/converter/src/androidTest/java/com/sadellie/unitto/data/converter/LevenshteinTest.kt
diff --git a/data/converter/src/main/java/com/sadellie/unitto/data/converter/MyUnitIDS.kt b/data/converter/src/main/java/com/sadellie/unitto/data/converter/MyUnitIDS.kt
index 4f707a08..b3a8b660 100644
--- a/data/converter/src/main/java/com/sadellie/unitto/data/converter/MyUnitIDS.kt
+++ b/data/converter/src/main/java/com/sadellie/unitto/data/converter/MyUnitIDS.kt
@@ -154,6 +154,10 @@ object MyUnitIDS {
const val cubic_centimeter = "cubic_centimeter"
const val cubic_meter = "cubic_meter"
const val cubic_kilometer = "cubic_kilometer"
+ const val cubic_inch = "cubic_inch"
+ const val cubic_foot = "cubic_foot"
+ const val cubic_yard = "cubic_yard"
+ const val cubic_mile = "cubic_mile"
// TIME
const val attosecond = "attosecond"
@@ -261,6 +265,11 @@ object MyUnitIDS {
const val torr = "torr"
const val micron_of_mercury = "micron_of_mercury"
const val millimeter_of_mercury = "millimeter_of_mercury"
+ const val kilogram_force_per_square_meter = "kilogram_force_per_square_meter"
+ const val kilogram_force_per_square_centimeter = "kilogram_force_per_square_centimeter"
+ const val gram_force_per_square_centimeter = "gram_force_per_square_centimeter"
+ const val pound_force_per_square_foot = "pound_force_per_square_foot"
+ const val pound_force_per_square_inch = "pound_force_per_square_inch"
// ACCELERATION
const val attometer_per_square_second = "attometer_per_square_second"
diff --git a/data/converter/src/main/java/com/sadellie/unitto/data/converter/UnitsRepository.kt b/data/converter/src/main/java/com/sadellie/unitto/data/converter/UnitsRepositoryImpl.kt
similarity index 100%
rename from data/converter/src/main/java/com/sadellie/unitto/data/converter/UnitsRepository.kt
rename to data/converter/src/main/java/com/sadellie/unitto/data/converter/UnitsRepositoryImpl.kt
index 6eef19ce..e55d53a9 100644
--- a/data/converter/src/main/java/com/sadellie/unitto/data/converter/UnitsRepository.kt
+++ b/data/converter/src/main/java/com/sadellie/unitto/data/converter/UnitsRepositoryImpl.kt
@@ -20,16 +20,6 @@ package com.sadellie.unitto.data.converter
import android.content.Context
import android.util.Log
-import com.sadellie.unitto.data.database.CurrencyRatesDao
-import com.sadellie.unitto.data.database.CurrencyRatesEntity
-import com.sadellie.unitto.data.database.UnitsDao
-import com.sadellie.unitto.data.database.UnitsEntity
-import com.sadellie.unitto.data.model.UnitGroup
-import com.sadellie.unitto.data.model.UnitsListSorting
-import com.sadellie.unitto.data.model.repository.UnitsRepository
-import com.sadellie.unitto.data.model.unit.AbstractUnit
-import com.sadellie.unitto.data.model.unit.ReverseUnit
-import com.sadellie.unitto.data.model.unit.filterByLev
import com.sadellie.unitto.data.converter.collections.accelerationCollection
import com.sadellie.unitto.data.converter.collections.angleCollection
import com.sadellie.unitto.data.converter.collections.areaCollection
@@ -55,6 +45,16 @@ 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.converter.remote.CurrencyApi
+import com.sadellie.unitto.data.database.CurrencyRatesDao
+import com.sadellie.unitto.data.database.CurrencyRatesEntity
+import com.sadellie.unitto.data.database.UnitsDao
+import com.sadellie.unitto.data.database.UnitsEntity
+import com.sadellie.unitto.data.model.UnitGroup
+import com.sadellie.unitto.data.model.UnitsListSorting
+import com.sadellie.unitto.data.model.repository.UnitsRepository
+import com.sadellie.unitto.data.model.unit.AbstractUnit
+import com.sadellie.unitto.data.model.unit.ReverseUnit
+import com.sadellie.unitto.data.model.unit.filterByLev
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
diff --git a/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Pressure.kt b/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Pressure.kt
index 2613e811..88b743ef 100644
--- a/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Pressure.kt
+++ b/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Pressure.kt
@@ -19,38 +19,43 @@
package com.sadellie.unitto.data.converter.collections
import com.sadellie.unitto.core.base.R
+import com.sadellie.unitto.data.converter.MyUnitIDS
import com.sadellie.unitto.data.model.UnitGroup
import com.sadellie.unitto.data.model.unit.AbstractUnit
import com.sadellie.unitto.data.model.unit.NormalUnit
-import com.sadellie.unitto.data.converter.MyUnitIDS
import java.math.BigDecimal
internal val pressureCollection: List by lazy {
listOf(
- NormalUnit(MyUnitIDS.attopascal, BigDecimal.valueOf(1), UnitGroup.PRESSURE, R.string.unit_attopascal, R.string.unit_attopascal_short),
- NormalUnit(MyUnitIDS.femtopascal, BigDecimal.valueOf(1E+3), UnitGroup.PRESSURE, R.string.unit_femtopascal, R.string.unit_femtopascal_short),
- NormalUnit(MyUnitIDS.picopascal, BigDecimal.valueOf(1E+6), UnitGroup.PRESSURE, R.string.unit_picopascal, R.string.unit_picopascal_short),
- NormalUnit(MyUnitIDS.nanopascal, BigDecimal.valueOf(1E+9), UnitGroup.PRESSURE, R.string.unit_nanopascal, R.string.unit_nanopascal_short),
- NormalUnit(MyUnitIDS.micropascal, BigDecimal.valueOf(1E+12), UnitGroup.PRESSURE, R.string.unit_micropascal, R.string.unit_micropascal_short),
- NormalUnit(MyUnitIDS.millipascal, BigDecimal.valueOf(1E+15), UnitGroup.PRESSURE, R.string.unit_millipascal, R.string.unit_millipascal_short),
- NormalUnit(MyUnitIDS.centipascal, BigDecimal.valueOf(1E+16), UnitGroup.PRESSURE, R.string.unit_centipascal, R.string.unit_centipascal_short),
- NormalUnit(MyUnitIDS.decipascal, BigDecimal.valueOf(1E+17), UnitGroup.PRESSURE, R.string.unit_decipascal, R.string.unit_decipascal_short),
- NormalUnit(MyUnitIDS.pascal, BigDecimal.valueOf(1E+18), UnitGroup.PRESSURE, R.string.unit_pascal, R.string.unit_pascal_short),
- NormalUnit(MyUnitIDS.dekapascal, BigDecimal.valueOf(1E+19), UnitGroup.PRESSURE, R.string.unit_dekapascal, R.string.unit_dekapascal_short),
- NormalUnit(MyUnitIDS.hectopascal, BigDecimal.valueOf(1E+20), UnitGroup.PRESSURE, R.string.unit_hectopascal, R.string.unit_hectopascal_short),
- NormalUnit(MyUnitIDS.millibar, BigDecimal.valueOf(1E+20), UnitGroup.PRESSURE, R.string.unit_millibar, R.string.unit_millibar_short),
- NormalUnit(MyUnitIDS.bar, BigDecimal.valueOf(1E+23), UnitGroup.PRESSURE, R.string.unit_bar, R.string.unit_bar_short),
- NormalUnit(MyUnitIDS.kilopascal, BigDecimal.valueOf(1E+21), UnitGroup.PRESSURE, R.string.unit_kilopascal, R.string.unit_kilopascal_short),
- NormalUnit(MyUnitIDS.megapascal, BigDecimal.valueOf(1E+24), UnitGroup.PRESSURE, R.string.unit_megapascal, R.string.unit_megapascal_short),
- NormalUnit(MyUnitIDS.gigapascal, BigDecimal.valueOf(1E+27), UnitGroup.PRESSURE, R.string.unit_gigapascal, R.string.unit_gigapascal_short),
- NormalUnit(MyUnitIDS.terapascal, BigDecimal.valueOf(1E+30), UnitGroup.PRESSURE, R.string.unit_terapascal, R.string.unit_terapascal_short),
- NormalUnit(MyUnitIDS.petapascal, BigDecimal.valueOf(1E+33), UnitGroup.PRESSURE, R.string.unit_petapascal, R.string.unit_petapascal_short),
- NormalUnit(MyUnitIDS.exapascal, BigDecimal.valueOf(1E+36), UnitGroup.PRESSURE, R.string.unit_exapascal, R.string.unit_exapascal_short),
- NormalUnit(MyUnitIDS.psi, BigDecimal.valueOf(6.8947572931783E+21), UnitGroup.PRESSURE, R.string.unit_psi, R.string.unit_psi_short),
- NormalUnit(MyUnitIDS.ksi, BigDecimal.valueOf(6.8947572931783E+24), UnitGroup.PRESSURE, R.string.unit_ksi, R.string.unit_ksi_short),
- NormalUnit(MyUnitIDS.standard_atmosphere, BigDecimal.valueOf(101.325E+21), UnitGroup.PRESSURE, R.string.unit_standard_atmosphere, R.string.unit_standard_atmosphere_short),
- NormalUnit(MyUnitIDS.torr, BigDecimal.valueOf(1.3332236842108281E+20), UnitGroup.PRESSURE, R.string.unit_torr, R.string.unit_torr_short),
- NormalUnit(MyUnitIDS.micron_of_mercury, BigDecimal.valueOf(1.3332236842108281E+17), UnitGroup.PRESSURE, R.string.unit_micron_of_mercury, R.string.unit_micron_of_mercury_short),
- NormalUnit(MyUnitIDS.millimeter_of_mercury, BigDecimal.valueOf(1.3332236842108281E+20), UnitGroup.PRESSURE, R.string.unit_millimeter_of_mercury, R.string.unit_millimeter_of_mercury_short),
+ NormalUnit(MyUnitIDS.attopascal, BigDecimal.valueOf(1), UnitGroup.PRESSURE, R.string.unit_attopascal, R.string.unit_attopascal_short),
+ NormalUnit(MyUnitIDS.femtopascal, BigDecimal.valueOf(1E+3), UnitGroup.PRESSURE, R.string.unit_femtopascal, R.string.unit_femtopascal_short),
+ NormalUnit(MyUnitIDS.picopascal, BigDecimal.valueOf(1E+6), UnitGroup.PRESSURE, R.string.unit_picopascal, R.string.unit_picopascal_short),
+ NormalUnit(MyUnitIDS.nanopascal, BigDecimal.valueOf(1E+9), UnitGroup.PRESSURE, R.string.unit_nanopascal, R.string.unit_nanopascal_short),
+ NormalUnit(MyUnitIDS.micropascal, BigDecimal.valueOf(1E+12), UnitGroup.PRESSURE, R.string.unit_micropascal, R.string.unit_micropascal_short),
+ NormalUnit(MyUnitIDS.millipascal, BigDecimal.valueOf(1E+15), UnitGroup.PRESSURE, R.string.unit_millipascal, R.string.unit_millipascal_short),
+ NormalUnit(MyUnitIDS.centipascal, BigDecimal.valueOf(1E+16), UnitGroup.PRESSURE, R.string.unit_centipascal, R.string.unit_centipascal_short),
+ NormalUnit(MyUnitIDS.decipascal, BigDecimal.valueOf(1E+17), UnitGroup.PRESSURE, R.string.unit_decipascal, R.string.unit_decipascal_short),
+ NormalUnit(MyUnitIDS.pascal, BigDecimal.valueOf(1E+18), UnitGroup.PRESSURE, R.string.unit_pascal, R.string.unit_pascal_short),
+ NormalUnit(MyUnitIDS.dekapascal, BigDecimal.valueOf(1E+19), UnitGroup.PRESSURE, R.string.unit_dekapascal, R.string.unit_dekapascal_short),
+ NormalUnit(MyUnitIDS.hectopascal, BigDecimal.valueOf(1E+20), UnitGroup.PRESSURE, R.string.unit_hectopascal, R.string.unit_hectopascal_short),
+ NormalUnit(MyUnitIDS.millibar, BigDecimal.valueOf(1E+20), UnitGroup.PRESSURE, R.string.unit_millibar, R.string.unit_millibar_short),
+ NormalUnit(MyUnitIDS.bar, BigDecimal.valueOf(1E+23), UnitGroup.PRESSURE, R.string.unit_bar, R.string.unit_bar_short),
+ NormalUnit(MyUnitIDS.kilopascal, BigDecimal.valueOf(1E+21), UnitGroup.PRESSURE, R.string.unit_kilopascal, R.string.unit_kilopascal_short),
+ NormalUnit(MyUnitIDS.megapascal, BigDecimal.valueOf(1E+24), UnitGroup.PRESSURE, R.string.unit_megapascal, R.string.unit_megapascal_short),
+ NormalUnit(MyUnitIDS.gigapascal, BigDecimal.valueOf(1E+27), UnitGroup.PRESSURE, R.string.unit_gigapascal, R.string.unit_gigapascal_short),
+ NormalUnit(MyUnitIDS.terapascal, BigDecimal.valueOf(1E+30), UnitGroup.PRESSURE, R.string.unit_terapascal, R.string.unit_terapascal_short),
+ NormalUnit(MyUnitIDS.petapascal, BigDecimal.valueOf(1E+33), UnitGroup.PRESSURE, R.string.unit_petapascal, R.string.unit_petapascal_short),
+ NormalUnit(MyUnitIDS.exapascal, BigDecimal.valueOf(1E+36), UnitGroup.PRESSURE, R.string.unit_exapascal, R.string.unit_exapascal_short),
+ NormalUnit(MyUnitIDS.psi, BigDecimal.valueOf(6.8947572931783E+21), UnitGroup.PRESSURE, R.string.unit_psi, R.string.unit_psi_short),
+ NormalUnit(MyUnitIDS.ksi, BigDecimal.valueOf(6.8947572931783E+24), UnitGroup.PRESSURE, R.string.unit_ksi, R.string.unit_ksi_short),
+ NormalUnit(MyUnitIDS.standard_atmosphere, BigDecimal.valueOf(101.325E+21), UnitGroup.PRESSURE, R.string.unit_standard_atmosphere, R.string.unit_standard_atmosphere_short),
+ NormalUnit(MyUnitIDS.torr, BigDecimal.valueOf(1.3332236842108281E+20), UnitGroup.PRESSURE, R.string.unit_torr, R.string.unit_torr_short),
+ NormalUnit(MyUnitIDS.micron_of_mercury, BigDecimal.valueOf(1.3332236842108281E+17), UnitGroup.PRESSURE, R.string.unit_micron_of_mercury, R.string.unit_micron_of_mercury_short),
+ NormalUnit(MyUnitIDS.millimeter_of_mercury, BigDecimal.valueOf(1.3332236842108281E+20), UnitGroup.PRESSURE, R.string.unit_millimeter_of_mercury, R.string.unit_millimeter_of_mercury_short),
+ NormalUnit(MyUnitIDS.kilogram_force_per_square_meter, BigDecimal.valueOf(9.80665E+18), UnitGroup.PRESSURE, R.string.unit_kilogram_force_per_square_meter, R.string.unit_kilogram_force_per_square_meter_short),
+ NormalUnit(MyUnitIDS.kilogram_force_per_square_centimeter, BigDecimal.valueOf(9.80665E+22), UnitGroup.PRESSURE, R.string.unit_kilogram_force_per_square_centimeter, R.string.unit_kilogram_force_per_square_centimeter_short),
+ NormalUnit(MyUnitIDS.gram_force_per_square_centimeter, BigDecimal.valueOf(9.80665E+19), UnitGroup.PRESSURE, R.string.unit_gram_force_per_square_centimeter, R.string.unit_gram_force_per_square_centimeter_short),
+ NormalUnit(MyUnitIDS.pound_force_per_square_foot, BigDecimal.valueOf(4.788025898E+19), UnitGroup.PRESSURE, R.string.unit_pound_force_per_square_foot, R.string.unit_pound_force_per_square_foot_short),
+ NormalUnit(MyUnitIDS.pound_force_per_square_inch, BigDecimal.valueOf(6.8947572931783E+21), UnitGroup.PRESSURE, R.string.unit_pound_force_per_square_inch, R.string.unit_pound_force_per_square_inch_short),
)
}
diff --git a/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Volume.kt b/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Volume.kt
index ef7d0da3..164c11fe 100644
--- a/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Volume.kt
+++ b/data/converter/src/main/java/com/sadellie/unitto/data/converter/collections/Volume.kt
@@ -19,10 +19,10 @@
package com.sadellie.unitto.data.converter.collections
import com.sadellie.unitto.core.base.R
+import com.sadellie.unitto.data.converter.MyUnitIDS
import com.sadellie.unitto.data.model.UnitGroup
import com.sadellie.unitto.data.model.unit.AbstractUnit
import com.sadellie.unitto.data.model.unit.NormalUnit
-import com.sadellie.unitto.data.converter.MyUnitIDS
import java.math.BigDecimal
internal val volumeCollection: List by lazy {
@@ -48,5 +48,9 @@ internal val volumeCollection: List by lazy {
NormalUnit(MyUnitIDS.cubic_centimeter, BigDecimal.valueOf(1_000_000_000_000_000), UnitGroup.VOLUME, R.string.unit_cubic_centimeter, R.string.unit_cubic_centimeter_short),
NormalUnit(MyUnitIDS.cubic_meter, BigDecimal.valueOf(1.0E+21), UnitGroup.VOLUME, R.string.unit_cubic_meter, R.string.unit_cubic_meter_short),
NormalUnit(MyUnitIDS.cubic_kilometer, BigDecimal.valueOf(1.0E+30), UnitGroup.VOLUME, R.string.unit_cubic_kilometer, R.string.unit_cubic_kilometer_short),
+ NormalUnit(MyUnitIDS.cubic_inch, BigDecimal.valueOf(1.6387064E+16), UnitGroup.VOLUME, R.string.unit_cubic_inch, R.string.unit_cubic_inch_short),
+ NormalUnit(MyUnitIDS.cubic_foot, BigDecimal.valueOf(2.831684659E+19), UnitGroup.VOLUME, R.string.unit_cubic_foot, R.string.unit_cubic_foot_short),
+ NormalUnit(MyUnitIDS.cubic_yard, BigDecimal.valueOf(7.645548579839955E+20), UnitGroup.VOLUME, R.string.unit_cubic_yard, R.string.unit_cubic_yard_short),
+ NormalUnit(MyUnitIDS.cubic_mile, BigDecimal.valueOf(4.168181825440539E+30), UnitGroup.VOLUME, R.string.unit_cubic_mile, R.string.unit_cubic_mile_short),
)
}
diff --git a/data/converter/src/test/java/com/sadellie/unitto/data/converter/LevenshteinFilterAndSortTest.kt b/data/converter/src/test/java/com/sadellie/unitto/data/converter/LevenshteinFilterAndSortTest.kt
deleted file mode 100644
index 2788ce81..00000000
--- a/data/converter/src/test/java/com/sadellie/unitto/data/converter/LevenshteinFilterAndSortTest.kt
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Unitto is a unit converter for Android
- * Copyright (c) 2022-2023 Elshan Agaev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-package com.sadellie.unitto.data.converter
-
-import android.content.Context
-import com.sadellie.unitto.core.base.R
-import com.sadellie.unitto.data.model.UnitGroup
-import com.sadellie.unitto.data.model.unit.NormalUnit
-import com.sadellie.unitto.data.model.unit.filterByLev
-import org.junit.Assert.assertEquals
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.robolectric.RobolectricTestRunner
-import org.robolectric.RuntimeEnvironment
-import java.math.BigDecimal
-
-val baseList = listOf(
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.attometer, R.string.attometer_short),
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.nanometer, R.string.nanometer_short),
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.millimeter, R.string.millimeter_short),
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.meter, R.string.meter_short),
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.kilometer, R.string.kilometer_short),
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.mile, R.string.mile_short),
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.pound, R.string.pound_short),
- NormalUnit("", BigDecimal.ONE, UnitGroup.ANGLE, R.string.kilometer_per_second, R.string.kilometer_per_second_short),
-)
-
-@RunWith(RobolectricTestRunner::class)
-class LevenshteinFilterAndSortTest {
-
- private val mContext: Context = RuntimeEnvironment.getApplication().applicationContext
-
- @Test
- fun testOneEdit() {
- val searchQuery = "Kelometer"
- val result = baseList.asSequence().filterByLev(searchQuery, mContext).map { mContext.getString(it.displayName) }.toList()
- println(result)
- assertEquals(
- listOf("Kilometer", "Kilometer/second", "Attometer", "Nanometer"),
- result
- )
- }
-
- @Test
- fun testLongQuery() {
- val searchQuery = "Kelometers per"
- val result = baseList.asSequence().filterByLev(searchQuery, mContext).map { mContext.getString(it.displayName) }.toList()
- println(result)
- assertEquals(
- listOf("Kilometer", "Kilometer/second"),
- result
- )
- }
-
- @Test
- fun testMultipleMatches() {
- val searchQuery = "meter"
- val result = baseList.asSequence().filterByLev(searchQuery, mContext).map { mContext.getString(it.displayName) }.toList()
- println(result)
- assertEquals(
- listOf("Meter", "Attometer", "Nanometer", "Millimeter", "Kilometer","Kilometer/second"),
- result
- )
- }
-
- @Test
- fun testNone() {
- val searchQuery = "Very long unit name that doesn't exist"
- val result = baseList.asSequence().filterByLev(searchQuery, mContext).map { mContext.getString(it.displayName) }.toList()
- println(result)
- assertEquals(
- listOf(),
- result
- )
- }
-
- @Test
- fun testLowerAndUpperCases() {
- val searchQuery = "T"
- val result = baseList.asSequence().filterByLev(searchQuery, mContext).map { mContext.getString(it.displayName) }.toList()
- println(result)
- assertEquals(
- listOf("Attometer", "Nanometer", "Millimeter", "Meter", "Kilometer", "Kilometer/second"),
- result
- )
- }
-}
\ No newline at end of file