diff --git a/app/src/main/java/com/sadellie/unitto/data/units/AllUnits.kt b/app/src/main/java/com/sadellie/unitto/data/units/AllUnits.kt index ddb7e83e..b140e2ac 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/AllUnits.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/AllUnits.kt @@ -15,6 +15,8 @@ val ALL_UNITS: List by lazy { AREA_COLLECTION + VOLUME_COLLECTION + DATA_COLLECTION + + PRESSURE_COLLECTION + + ACCELERATION_COLLECTION + ENERGY_COLLECTION + POWER_COLLECTION + ANGLE_COLLECTION + diff --git a/app/src/main/java/com/sadellie/unitto/data/units/MyUnitIDS.kt b/app/src/main/java/com/sadellie/unitto/data/units/MyUnitIDS.kt index 8b436af6..8cf0c6e5 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/MyUnitIDS.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/MyUnitIDS.kt @@ -21,6 +21,18 @@ object MyUnitIDS { const val foot = "foot" const val inch = "inch" const val light_year = "light_year" + const val parsec = "parsec" + const val kiloparsec = "kiloparsec" + const val megaparsec = "megaparsec" + const val mercury_equatorial_radius = "mercury_equatorial_radius" + const val venus_equatorial_radius = "venus_equatorial_radius" + const val earth_equatorial_radius = "earth_equatorial_radius" + const val mars_equatorial_radius = "mars_equatorial_radius" + const val jupiter_equatorial_radius = "jupiter_equatorial_radius" + const val saturn_equatorial_radius = "saturn_equatorial_radius" + const val uranus_equatorial_radius = "uranus_equatorial_radius" + const val neptune_equatorial_radius = "neptune_equatorial_radius" + const val sun_equatorial_radius = "sun_equatorial_radius" // MASS const val electron_mass_rest = "electron_mass_rest" @@ -33,6 +45,15 @@ object MyUnitIDS { const val pound = "pound" const val ounce = "ounce" const val carat = "carat" + const val mercury_mass = "mercury_mass" + const val venus_mass = "venus_mass" + const val earth_mass = "earth_mass" + const val mars_mass = "mars_mass" + const val jupiter_mass = "jupiter_mass" + const val saturn_mass = "saturn_mass" + const val uranus_mass = "uranus_mass" + const val neptune_mass = "neptune_mass" + const val sun_mass = "sun_mass" // TEMPERATURE const val celsius = "celsius" @@ -190,6 +211,54 @@ object MyUnitIDS { const val petabyte_per_second = "petabyte_per_second" const val exabyte_per_second = "exabyte_per_second" + // PRESSURE + const val attopascal = "attopascal" + const val femtopascal = "femtopascal" + const val picopascal = "picopascal" + const val nanopascal = "nanopascal" + const val micropascal = "micropascal" + const val millipascal = "millipascal" + const val centipascal = "centipascal" + const val decipascal = "decipascal" + const val pascal = "pascal" + const val dekapascal = "dekapascal" + const val hectopascal = "hectopascal" + const val bar = "bar" + const val megapascal = "megapascal" + const val gigapascal = "gigapascal" + const val terapascal = "terapascal" + const val petapascal = "petapascal" + const val exapascal = "exapascal" + const val psi = "psi" + const val ksi = "ksi" + const val standard_atmosphere = "standard_atmosphere" + const val torr = "torr" + const val millimeter_of_mercury = "millimeter_of_mercury" + + // ACCELERATION + const val attometer_per_square_second = "attometer_per_square_second" + const val femtometer_per_square_second = "femtometer_per_square_second" + const val picometer_per_square_second = "picometer_per_square_second" + const val nanometer_per_square_second = "nanometer_per_square_second" + const val micrometer_per_square_second = "micrometer_per_square_second" + const val millimeter_per_square_second = "millimeter_per_square_second" + const val centimeter_per_square_second = "centimeter_per_square_second" + const val decimeter_per_square_second = "decimeter_per_square_second" + const val meter_per_square_second = "meter_per_square_second" + const val kilometer_per_square_second = "kilometer_per_square_second" + const val dekameter_per_square_second = "dekameter_per_square_second" + const val hectometer_per_square_second = "hectometer_per_square_second" + const val gal = "gal" + const val mercury_surface_gravity = "mercury_surface_gravity" + const val venus_surface_gravity = "venus_surface_gravity" + const val earth_surface_gravity = "earth_surface_gravity" + const val mars_surface_gravity = "mars_surface_gravity" + const val jupiter_surface_gravity = "jupiter_surface_gravity" + const val saturn_surface_gravity = "saturn_surface_gravity" + const val uranus_surface_gravity = "uranus_surface_gravity" + const val neptune_surface_gravity = "neptune_surface_gravity" + const val sun_surface_gravity = "sun_surface_gravity" + // CURRENCY const val currency_1inch = "1inch" const val currency_ada = "ada" diff --git a/app/src/main/java/com/sadellie/unitto/data/units/UnitGroup.kt b/app/src/main/java/com/sadellie/unitto/data/units/UnitGroup.kt index 66dcbed1..24739d66 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/UnitGroup.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/UnitGroup.kt @@ -20,6 +20,8 @@ enum class UnitGroup(val res: Int, val canNegate: Boolean = false) { AREA(res = R.string.area), VOLUME(res = R.string.volume), DATA(res = R.string.data), + PRESSURE(res = R.string.pressure), + ACCELERATION(res = R.string.acceleration), ENERGY(res = R.string.energy), POWER(res = R.string.power), ANGLE(res = R.string.angle), diff --git a/app/src/main/java/com/sadellie/unitto/data/units/collections/Acceleration.kt b/app/src/main/java/com/sadellie/unitto/data/units/collections/Acceleration.kt new file mode 100644 index 00000000..4d8add94 --- /dev/null +++ b/app/src/main/java/com/sadellie/unitto/data/units/collections/Acceleration.kt @@ -0,0 +1,35 @@ +package com.sadellie.unitto.data.units.collections + +import com.sadellie.unitto.R +import com.sadellie.unitto.data.units.AbstractUnit +import com.sadellie.unitto.data.units.MyUnit +import com.sadellie.unitto.data.units.MyUnitIDS +import com.sadellie.unitto.data.units.UnitGroup +import java.math.BigDecimal + +val ACCELERATION_COLLECTION: List by lazy { + listOf( + MyUnit(MyUnitIDS.attometer_per_square_second, BigDecimal.valueOf(1), UnitGroup.ACCELERATION, R.string.attometer_per_square_second, R.string.attometer_per_square_second_short), + MyUnit(MyUnitIDS.femtometer_per_square_second, BigDecimal.valueOf(1E+3), UnitGroup.ACCELERATION, R.string.femtometer_per_square_second, R.string.femtometer_per_square_second_short), + MyUnit(MyUnitIDS.picometer_per_square_second, BigDecimal.valueOf(1E+6), UnitGroup.ACCELERATION, R.string.picometer_per_square_second, R.string.picometer_per_square_second_short), + MyUnit(MyUnitIDS.nanometer_per_square_second, BigDecimal.valueOf(1E+9), UnitGroup.ACCELERATION, R.string.nanometer_per_square_second, R.string.nanometer_per_square_second_short), + MyUnit(MyUnitIDS.micrometer_per_square_second, BigDecimal.valueOf(1E+12), UnitGroup.ACCELERATION, R.string.micrometer_per_square_second, R.string.micrometer_per_square_second_short), + MyUnit(MyUnitIDS.millimeter_per_square_second, BigDecimal.valueOf(1E+15), UnitGroup.ACCELERATION, R.string.millimeter_per_square_second, R.string.millimeter_per_square_second_short), + MyUnit(MyUnitIDS.centimeter_per_square_second, BigDecimal.valueOf(1E+16), UnitGroup.ACCELERATION, R.string.centimeter_per_square_second, R.string.centimeter_per_square_second_short), + MyUnit(MyUnitIDS.decimeter_per_square_second, BigDecimal.valueOf(1E+17), UnitGroup.ACCELERATION, R.string.decimeter_per_square_second, R.string.decimeter_per_square_second_short), + MyUnit(MyUnitIDS.meter_per_square_second, BigDecimal.valueOf(1E+18), UnitGroup.ACCELERATION, R.string.meter_per_square_second, R.string.meter_per_square_second_short), + MyUnit(MyUnitIDS.kilometer_per_square_second, BigDecimal.valueOf(1E+21), UnitGroup.ACCELERATION, R.string.kilometer_per_square_second, R.string.kilometer_per_square_second_short), + MyUnit(MyUnitIDS.dekameter_per_square_second, BigDecimal.valueOf(1E+19), UnitGroup.ACCELERATION, R.string.dekameter_per_square_second, R.string.dekameter_per_square_second_short), + MyUnit(MyUnitIDS.hectometer_per_square_second, BigDecimal.valueOf(1E+20), UnitGroup.ACCELERATION, R.string.hectometer_per_square_second, R.string.hectometer_per_square_second_short), + MyUnit(MyUnitIDS.gal, BigDecimal.valueOf(1E+16), UnitGroup.ACCELERATION, R.string.gal, R.string.gal_short), + MyUnit(MyUnitIDS.mercury_surface_gravity, BigDecimal.valueOf(3.7E+18), UnitGroup.ACCELERATION, R.string.mercury_surface_gravity, R.string.mercury_surface_gravity_short), + MyUnit(MyUnitIDS.venus_surface_gravity, BigDecimal.valueOf(8.87E+18), UnitGroup.ACCELERATION, R.string.venus_surface_gravity, R.string.venus_surface_gravity_short), + MyUnit(MyUnitIDS.earth_surface_gravity, BigDecimal.valueOf(9.80655E+18), UnitGroup.ACCELERATION, R.string.earth_surface_gravity, R.string.earth_surface_gravity_short), + MyUnit(MyUnitIDS.mars_surface_gravity, BigDecimal.valueOf(3.71E+18), UnitGroup.ACCELERATION, R.string.mars_surface_gravity, R.string.mars_surface_gravity_short), + MyUnit(MyUnitIDS.jupiter_surface_gravity, BigDecimal.valueOf(2.479E+19), UnitGroup.ACCELERATION, R.string.jupiter_surface_gravity, R.string.jupiter_surface_gravity_short), + MyUnit(MyUnitIDS.saturn_surface_gravity, BigDecimal.valueOf(1.044E+19), UnitGroup.ACCELERATION, R.string.saturn_surface_gravity, R.string.saturn_surface_gravity_short), + MyUnit(MyUnitIDS.uranus_surface_gravity, BigDecimal.valueOf(8.87E+18), UnitGroup.ACCELERATION, R.string.uranus_surface_gravity, R.string.uranus_surface_gravity_short), + MyUnit(MyUnitIDS.neptune_surface_gravity, BigDecimal.valueOf(1.115E+19), UnitGroup.ACCELERATION, R.string.neptune_surface_gravity, R.string.neptune_surface_gravity_short), + MyUnit(MyUnitIDS.sun_surface_gravity, BigDecimal.valueOf(2.74E+20), UnitGroup.ACCELERATION, R.string.sun_surface_gravity, R.string.sun_surface_gravity_short), + ) +} diff --git a/app/src/main/java/com/sadellie/unitto/data/units/collections/Area.kt b/app/src/main/java/com/sadellie/unitto/data/units/collections/Area.kt index 139a42be..59048bf0 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/collections/Area.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/collections/Area.kt @@ -15,7 +15,7 @@ val AREA_COLLECTION: List by lazy { MyUnit(MyUnitIDS.square_mile, BigDecimal.valueOf(3.893277806E+34), UnitGroup.AREA, R.string.square_mile, R.string.square_mile_short), MyUnit(MyUnitIDS.square_yard, BigDecimal.valueOf(1.256869126E+28), UnitGroup.AREA, R.string.square_yard, R.string.square_yard_short), MyUnit(MyUnitIDS.square_inch, BigDecimal.valueOf(9.698064247E+24), UnitGroup.AREA, R.string.square_inch, R.string.square_inch_short), - MyUnit(MyUnitIDS.square_micrometer, BigDecimal.valueOf(15032029647492000.0), UnitGroup.AREA, R.string.square_micrometer, R.string.square_micrometer_short), + MyUnit(MyUnitIDS.square_micrometer, BigDecimal.valueOf(1.503202964E+16), UnitGroup.AREA, R.string.square_micrometer, R.string.square_micrometer_short), MyUnit(MyUnitIDS.square_millimeter, BigDecimal.valueOf(1.503202964E+22), UnitGroup.AREA, R.string.square_millimeter, R.string.square_millimeter_short), MyUnit(MyUnitIDS.square_centimeter, BigDecimal.valueOf(1.503202964E+24), UnitGroup.AREA, R.string.square_centimeter, R.string.square_centimeter_short), MyUnit(MyUnitIDS.square_decimeter, BigDecimal.valueOf(1.503202964E+26), UnitGroup.AREA, R.string.square_decimeter, R.string.square_decimeter_short), diff --git a/app/src/main/java/com/sadellie/unitto/data/units/collections/Energy.kt b/app/src/main/java/com/sadellie/unitto/data/units/collections/Energy.kt index 46895e11..0deefbdc 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/collections/Energy.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/collections/Energy.kt @@ -9,18 +9,18 @@ import java.math.BigDecimal val ENERGY_COLLECTION: List by lazy { listOf( - MyUnit(MyUnitIDS.electron_volt, BigDecimal.valueOf(1), UnitGroup.ENERGY, R.string.electron_volt, R.string.electron_volt_short), - MyUnit(MyUnitIDS.attojoule, BigDecimal.valueOf(6.241506363094), UnitGroup.ENERGY, R.string.attojoule, R.string.attojoule_short), - MyUnit(MyUnitIDS.joule, BigDecimal.valueOf(6_241_506_363_094_000_000), UnitGroup.ENERGY, R.string.joule, R.string.joule_short), - MyUnit(MyUnitIDS.kilojoule, BigDecimal.valueOf(6.241506358E+21), UnitGroup.ENERGY, R.string.kilojoule, R.string.kilojoule_short), - MyUnit(MyUnitIDS.megajoule, BigDecimal.valueOf(6.241506358E+24), UnitGroup.ENERGY, R.string.megajoule, R.string.megajoule_short), - MyUnit(MyUnitIDS.gigajoule, BigDecimal.valueOf(6.241506358E+27), UnitGroup.ENERGY, R.string.gigajoule, R.string.gigajoule_short), - MyUnit(MyUnitIDS.energy_ton, BigDecimal.valueOf(2.611446262E+28), UnitGroup.ENERGY, R.string.energy_ton, R.string.energy_ton_short), - MyUnit(MyUnitIDS.kiloton, BigDecimal.valueOf(2.611446262E+31), UnitGroup.ENERGY, R.string.kiloton, R.string.kiloton_short), - MyUnit(MyUnitIDS.megaton, BigDecimal.valueOf(2.611446262E+34), UnitGroup.ENERGY, R.string.megaton, R.string.megaton_short), - MyUnit(MyUnitIDS.gigaton, BigDecimal.valueOf(2.611446262E+37), UnitGroup.ENERGY, R.string.gigaton, R.string.gigaton_short), - MyUnit(MyUnitIDS.energy_horse_power_metric, BigDecimal.valueOf(1.652623245E+25), UnitGroup.ENERGY, R.string.energy_horse_power_metric, R.string.energy_horse_power_metric_short), - MyUnit(MyUnitIDS.calorie_th, BigDecimal.valueOf(26_114_462_623_185_002_000.0), UnitGroup.ENERGY, R.string.calorie_th, R.string.calorie_th_short), - MyUnit(MyUnitIDS.kilocalorie_th, BigDecimal.valueOf(2.611446262E+22), UnitGroup.ENERGY, R.string.kilocalorie_th, R.string.kilocalorie_th_short), + MyUnit(MyUnitIDS.electron_volt, BigDecimal.valueOf(0.160217733), UnitGroup.ENERGY, R.string.electron_volt, R.string.electron_volt_short), + MyUnit(MyUnitIDS.attojoule, BigDecimal.valueOf(1), UnitGroup.ENERGY, R.string.attojoule, R.string.attojoule_short), + MyUnit(MyUnitIDS.joule, BigDecimal.valueOf(1E+18), UnitGroup.ENERGY, R.string.joule, R.string.joule_short), + MyUnit(MyUnitIDS.kilojoule, BigDecimal.valueOf(1E+21), UnitGroup.ENERGY, R.string.kilojoule, R.string.kilojoule_short), + MyUnit(MyUnitIDS.megajoule, BigDecimal.valueOf(1E+24), UnitGroup.ENERGY, R.string.megajoule, R.string.megajoule_short), + MyUnit(MyUnitIDS.gigajoule, BigDecimal.valueOf(1E+27), UnitGroup.ENERGY, R.string.gigajoule, R.string.gigajoule_short), + MyUnit(MyUnitIDS.energy_ton, BigDecimal.valueOf(4.184E+27), UnitGroup.ENERGY, R.string.energy_ton, R.string.energy_ton_short), + MyUnit(MyUnitIDS.kiloton, BigDecimal.valueOf(4.184E+30), UnitGroup.ENERGY, R.string.kiloton, R.string.kiloton_short), + MyUnit(MyUnitIDS.megaton, BigDecimal.valueOf(4.184E+33), UnitGroup.ENERGY, R.string.megaton, R.string.megaton_short), + MyUnit(MyUnitIDS.gigaton, BigDecimal.valueOf(4.184E+36), UnitGroup.ENERGY, R.string.gigaton, R.string.gigaton_short), + MyUnit(MyUnitIDS.energy_horse_power_metric, BigDecimal.valueOf(2.6477955E+24), UnitGroup.ENERGY, R.string.energy_horse_power_metric, R.string.energy_horse_power_metric_short), + MyUnit(MyUnitIDS.calorie_th, BigDecimal.valueOf(4184E+15), UnitGroup.ENERGY, R.string.calorie_th, R.string.calorie_th_short), + MyUnit(MyUnitIDS.kilocalorie_th, BigDecimal.valueOf(4184E+18), UnitGroup.ENERGY, R.string.kilocalorie_th, R.string.kilocalorie_th_short), ) } diff --git a/app/src/main/java/com/sadellie/unitto/data/units/collections/Length.kt b/app/src/main/java/com/sadellie/unitto/data/units/collections/Length.kt index a8b817d5..5510ac1e 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/collections/Length.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/collections/Length.kt @@ -9,18 +9,30 @@ import java.math.BigDecimal val LENGTH_COLLECTION: List by lazy { listOf( - MyUnit(MyUnitIDS.attometer, BigDecimal.valueOf(1.0), UnitGroup.LENGTH, R.string.attometer, R.string.attometer_short), - MyUnit(MyUnitIDS.nanometer, BigDecimal.valueOf(1.0E+9), UnitGroup.LENGTH, R.string.nanometer, R.string.nanometer_short), - MyUnit(MyUnitIDS.micrometer, BigDecimal.valueOf(1.0E+12), UnitGroup.LENGTH, R.string.micrometer, R.string.micrometer_short), - MyUnit(MyUnitIDS.millimeter, BigDecimal.valueOf(1.0E+15), UnitGroup.LENGTH, R.string.millimeter, R.string.millimeter_short), - MyUnit(MyUnitIDS.centimeter, BigDecimal.valueOf(1.0E+16), UnitGroup.LENGTH, R.string.centimeter, R.string.centimeter_short), - MyUnit(MyUnitIDS.decimeter, BigDecimal.valueOf(1.0E+17), UnitGroup.LENGTH, R.string.decimeter, R.string.decimeter_short), - MyUnit(MyUnitIDS.meter, BigDecimal.valueOf(1.0E+18), UnitGroup.LENGTH, R.string.meter, R.string.meter_short), - MyUnit(MyUnitIDS.kilometer, BigDecimal.valueOf(1.0E+21), UnitGroup.LENGTH, R.string.kilometer, R.string.kilometer_short), - MyUnit(MyUnitIDS.inch, BigDecimal.valueOf(25_400_000_000_000_308), UnitGroup.LENGTH, R.string.inch, R.string.inch_short), - MyUnit(MyUnitIDS.foot, BigDecimal.valueOf(304_800_000_000_002_200), UnitGroup.LENGTH, R.string.foot, R.string.foot_short), - MyUnit(MyUnitIDS.yard, BigDecimal.valueOf(914_400_000_000_006_400), UnitGroup.LENGTH, R.string.yard, R.string.yard_short), - MyUnit(MyUnitIDS.mile, BigDecimal.valueOf(1_609_344_000_000_010_500_000.0), UnitGroup.LENGTH, R.string.mile, R.string.mile_short), - MyUnit(MyUnitIDS.light_year, BigDecimal.valueOf(9.460730472E+33), UnitGroup.LENGTH, R.string.light_year, R.string.light_year_short), + MyUnit(MyUnitIDS.attometer, BigDecimal.valueOf(1.0), UnitGroup.LENGTH, R.string.attometer, R.string.attometer_short), + MyUnit(MyUnitIDS.nanometer, BigDecimal.valueOf(1.0E+9), UnitGroup.LENGTH, R.string.nanometer, R.string.nanometer_short), + MyUnit(MyUnitIDS.micrometer, BigDecimal.valueOf(1.0E+12), UnitGroup.LENGTH, R.string.micrometer, R.string.micrometer_short), + MyUnit(MyUnitIDS.millimeter, BigDecimal.valueOf(1.0E+15), UnitGroup.LENGTH, R.string.millimeter, R.string.millimeter_short), + MyUnit(MyUnitIDS.centimeter, BigDecimal.valueOf(1.0E+16), UnitGroup.LENGTH, R.string.centimeter, R.string.centimeter_short), + MyUnit(MyUnitIDS.decimeter, BigDecimal.valueOf(1.0E+17), UnitGroup.LENGTH, R.string.decimeter, R.string.decimeter_short), + MyUnit(MyUnitIDS.meter, BigDecimal.valueOf(1.0E+18), UnitGroup.LENGTH, R.string.meter, R.string.meter_short), + MyUnit(MyUnitIDS.kilometer, BigDecimal.valueOf(1.0E+21), UnitGroup.LENGTH, R.string.kilometer, R.string.kilometer_short), + MyUnit(MyUnitIDS.inch, BigDecimal.valueOf(25_400_000_000_000_000), UnitGroup.LENGTH, R.string.inch, R.string.inch_short), + MyUnit(MyUnitIDS.foot, BigDecimal.valueOf(304_800_000_000_002_200), UnitGroup.LENGTH, R.string.foot, R.string.foot_short), + MyUnit(MyUnitIDS.yard, BigDecimal.valueOf(914_400_000_000_006_400), UnitGroup.LENGTH, R.string.yard, R.string.yard_short), + MyUnit(MyUnitIDS.mile, BigDecimal.valueOf(1_609_344_000_000_010_500_000.0), UnitGroup.LENGTH, R.string.mile, R.string.mile_short), + MyUnit(MyUnitIDS.light_year, BigDecimal.valueOf(9.460730472E+33), UnitGroup.LENGTH, R.string.light_year, R.string.light_year_short), + MyUnit(MyUnitIDS.parsec, BigDecimal.valueOf(3.08567758149136E+34), UnitGroup.LENGTH, R.string.parsec, R.string.parsec_short), + MyUnit(MyUnitIDS.kiloparsec, BigDecimal.valueOf(3.08567758149136E+37), UnitGroup.LENGTH, R.string.kiloparsec, R.string.kiloparsec_short), + MyUnit(MyUnitIDS.megaparsec, BigDecimal.valueOf(3.08567758149136E+40), UnitGroup.LENGTH, R.string.megaparsec, R.string.megaparsec_short), + MyUnit(MyUnitIDS.mercury_equatorial_radius, BigDecimal.valueOf(2.4397E+24), UnitGroup.LENGTH, R.string.mercury_equatorial_radius, R.string.mercury_equatorial_radius_short), + MyUnit(MyUnitIDS.venus_equatorial_radius, BigDecimal.valueOf(6.0518E+24), UnitGroup.LENGTH, R.string.venus_equatorial_radius, R.string.venus_equatorial_radius_short), + MyUnit(MyUnitIDS.earth_equatorial_radius, BigDecimal.valueOf(6.371E+24), UnitGroup.LENGTH, R.string.earth_equatorial_radius, R.string.earth_equatorial_radius_short), + MyUnit(MyUnitIDS.mars_equatorial_radius, BigDecimal.valueOf(3.3895E+24), UnitGroup.LENGTH, R.string.mars_equatorial_radius, R.string.mars_equatorial_radius_short), + MyUnit(MyUnitIDS.jupiter_equatorial_radius, BigDecimal.valueOf(6.9911E+25), UnitGroup.LENGTH, R.string.jupiter_equatorial_radius, R.string.jupiter_equatorial_radius_short), + MyUnit(MyUnitIDS.saturn_equatorial_radius, BigDecimal.valueOf(5.8232E+25), UnitGroup.LENGTH, R.string.saturn_equatorial_radius, R.string.saturn_equatorial_radius_short), + MyUnit(MyUnitIDS.uranus_equatorial_radius, BigDecimal.valueOf(2.5362E+25), UnitGroup.LENGTH, R.string.uranus_equatorial_radius, R.string.uranus_equatorial_radius_short), + MyUnit(MyUnitIDS.neptune_equatorial_radius, BigDecimal.valueOf(2.4622E+25), UnitGroup.LENGTH, R.string.neptune_equatorial_radius, R.string.neptune_equatorial_radius_short), + MyUnit(MyUnitIDS.sun_equatorial_radius, BigDecimal.valueOf(6.95508E+26), UnitGroup.LENGTH, R.string.sun_equatorial_radius, R.string.sun_equatorial_radius_short), ) } diff --git a/app/src/main/java/com/sadellie/unitto/data/units/collections/Mass.kt b/app/src/main/java/com/sadellie/unitto/data/units/collections/Mass.kt index eb6c18d5..6c2daad5 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/collections/Mass.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/collections/Mass.kt @@ -9,15 +9,24 @@ import java.math.BigDecimal val MASS_COLLECTION: List by lazy { listOf( - MyUnit(MyUnitIDS.electron_mass_rest, BigDecimal.valueOf(1), UnitGroup.MASS, R.string.electron_mass_rest, R.string.electron_mass_rest_short), - MyUnit(MyUnitIDS.atomic_mass_unit, BigDecimal.valueOf(1_822.888530062548), UnitGroup.MASS, R.string.atomic_mass_unit, R.string.atomic_mass_unit_short), - MyUnit(MyUnitIDS.milligram, BigDecimal.valueOf(1.0977683828808E+24), UnitGroup.MASS, R.string.milligram, R.string.milligram_short), - MyUnit(MyUnitIDS.gram, BigDecimal.valueOf(1.0977683828808E+27), UnitGroup.MASS, R.string.gram, R.string.gram_short), - MyUnit(MyUnitIDS.kilogram, BigDecimal.valueOf(1.0977683828808E+30), UnitGroup.MASS, R.string.kilogram, R.string.kilogram_short), - MyUnit(MyUnitIDS.metric_ton, BigDecimal.valueOf(1.0977683828808E+33), UnitGroup.MASS, R.string.metric_ton, R.string.metric_ton_short), - MyUnit(MyUnitIDS.imperial_ton, BigDecimal.valueOf(1.1153841720044124E+33), UnitGroup.MASS, R.string.imperial_ton, R.string.imperial_ton_short), - MyUnit(MyUnitIDS.ounce, BigDecimal.valueOf(3.1121210156373456E+28), UnitGroup.MASS, R.string.ounce, R.string.ounce_short), - MyUnit(MyUnitIDS.carat, BigDecimal.valueOf(2.1955367657615996E+26), UnitGroup.MASS, R.string.carat, R.string.carat_short), - MyUnit(MyUnitIDS.pound, BigDecimal.valueOf(4.979393625019642E+29), UnitGroup.MASS, R.string.pound, R.string.pound_short), + MyUnit(MyUnitIDS.electron_mass_rest, BigDecimal.valueOf(9.1093897E-28), UnitGroup.MASS, R.string.electron_mass_rest, R.string.electron_mass_rest_short), + MyUnit(MyUnitIDS.atomic_mass_unit, BigDecimal.valueOf(1.6605402E-24), UnitGroup.MASS, R.string.atomic_mass_unit, R.string.atomic_mass_unit_short), + MyUnit(MyUnitIDS.milligram, BigDecimal.valueOf(1E-3), UnitGroup.MASS, R.string.milligram, R.string.milligram_short), + MyUnit(MyUnitIDS.gram, BigDecimal.valueOf(1), UnitGroup.MASS, R.string.gram, R.string.gram_short), + MyUnit(MyUnitIDS.kilogram, BigDecimal.valueOf(1E+3), UnitGroup.MASS, R.string.kilogram, R.string.kilogram_short), + MyUnit(MyUnitIDS.metric_ton, BigDecimal.valueOf(1E+6), UnitGroup.MASS, R.string.metric_ton, R.string.metric_ton_short), + MyUnit(MyUnitIDS.imperial_ton, BigDecimal.valueOf(1016046.9088), UnitGroup.MASS, R.string.imperial_ton, R.string.imperial_ton_short), + MyUnit(MyUnitIDS.ounce, BigDecimal.valueOf(28.349523125), UnitGroup.MASS, R.string.ounce, R.string.ounce_short), + MyUnit(MyUnitIDS.carat, BigDecimal.valueOf(0.2), UnitGroup.MASS, R.string.carat, R.string.carat_short), + MyUnit(MyUnitIDS.pound, BigDecimal.valueOf(453.59237), UnitGroup.MASS, R.string.pound, R.string.pound_short), + MyUnit(MyUnitIDS.mercury_mass, BigDecimal.valueOf(3.30104E+26), UnitGroup.MASS, R.string.mercury_mass, R.string.mercury_mass_short), + MyUnit(MyUnitIDS.venus_mass, BigDecimal.valueOf(4.86732E+27), UnitGroup.MASS, R.string.venus_mass, R.string.venus_mass_short), + MyUnit(MyUnitIDS.earth_mass, BigDecimal.valueOf(5.97219E+27), UnitGroup.MASS, R.string.earth_mass, R.string.earth_mass_short), + MyUnit(MyUnitIDS.mars_mass, BigDecimal.valueOf(6.41693E+26), UnitGroup.MASS, R.string.mars_mass, R.string.mars_mass_short), + MyUnit(MyUnitIDS.jupiter_mass, BigDecimal.valueOf(1.89813E+30), UnitGroup.MASS, R.string.jupiter_mass, R.string.jupiter_mass_short), + MyUnit(MyUnitIDS.saturn_mass, BigDecimal.valueOf(5.68319E+29), UnitGroup.MASS, R.string.saturn_mass, R.string.saturn_mass_short), + MyUnit(MyUnitIDS.uranus_mass, BigDecimal.valueOf(8.68103E+28), UnitGroup.MASS, R.string.uranus_mass, R.string.uranus_mass_short), + MyUnit(MyUnitIDS.neptune_mass, BigDecimal.valueOf(1.0241E+29), UnitGroup.MASS, R.string.neptune_mass, R.string.neptune_mass_short), + MyUnit(MyUnitIDS.sun_mass, BigDecimal.valueOf(1.9891E+33), UnitGroup.MASS, R.string.sun_mass, R.string.sun_mass_short), ) } diff --git a/app/src/main/java/com/sadellie/unitto/data/units/collections/Pressure.kt b/app/src/main/java/com/sadellie/unitto/data/units/collections/Pressure.kt new file mode 100644 index 00000000..2bb60776 --- /dev/null +++ b/app/src/main/java/com/sadellie/unitto/data/units/collections/Pressure.kt @@ -0,0 +1,35 @@ +package com.sadellie.unitto.data.units.collections + +import com.sadellie.unitto.R +import com.sadellie.unitto.data.units.AbstractUnit +import com.sadellie.unitto.data.units.MyUnit +import com.sadellie.unitto.data.units.MyUnitIDS +import com.sadellie.unitto.data.units.UnitGroup +import java.math.BigDecimal + +val PRESSURE_COLLECTION: List by lazy { + listOf( + MyUnit(MyUnitIDS.attopascal, BigDecimal.valueOf(1), UnitGroup.PRESSURE, R.string.attopascal, R.string.attopascal_short), + MyUnit(MyUnitIDS.femtopascal, BigDecimal.valueOf(1E+3), UnitGroup.PRESSURE, R.string.femtopascal, R.string.femtopascal_short), + MyUnit(MyUnitIDS.picopascal, BigDecimal.valueOf(1E+6), UnitGroup.PRESSURE, R.string.picopascal, R.string.picopascal_short), + MyUnit(MyUnitIDS.nanopascal, BigDecimal.valueOf(1E+9), UnitGroup.PRESSURE, R.string.nanopascal, R.string.nanopascal_short), + MyUnit(MyUnitIDS.micropascal, BigDecimal.valueOf(1E+12), UnitGroup.PRESSURE, R.string.micropascal, R.string.micropascal_short), + MyUnit(MyUnitIDS.millipascal, BigDecimal.valueOf(1E+15), UnitGroup.PRESSURE, R.string.millipascal, R.string.millipascal_short), + MyUnit(MyUnitIDS.centipascal, BigDecimal.valueOf(1E+16), UnitGroup.PRESSURE, R.string.centipascal, R.string.centipascal_short), + MyUnit(MyUnitIDS.decipascal, BigDecimal.valueOf(1E+17), UnitGroup.PRESSURE, R.string.decipascal, R.string.decipascal_short), + MyUnit(MyUnitIDS.pascal, BigDecimal.valueOf(1E+18), UnitGroup.PRESSURE, R.string.pascal, R.string.pascal_short), + MyUnit(MyUnitIDS.dekapascal, BigDecimal.valueOf(1E+19), UnitGroup.PRESSURE, R.string.dekapascal, R.string.dekapascal_short), + MyUnit(MyUnitIDS.hectopascal, BigDecimal.valueOf(1E+20), UnitGroup.PRESSURE, R.string.hectopascal, R.string.hectopascal_short), + MyUnit(MyUnitIDS.bar, BigDecimal.valueOf(1E+23), UnitGroup.PRESSURE, R.string.bar, R.string.bar_short), + MyUnit(MyUnitIDS.megapascal, BigDecimal.valueOf(1E+24), UnitGroup.PRESSURE, R.string.megapascal, R.string.megapascal_short), + MyUnit(MyUnitIDS.gigapascal, BigDecimal.valueOf(1E+27), UnitGroup.PRESSURE, R.string.gigapascal, R.string.gigapascal_short), + MyUnit(MyUnitIDS.terapascal, BigDecimal.valueOf(1E+30), UnitGroup.PRESSURE, R.string.terapascal, R.string.terapascal_short), + MyUnit(MyUnitIDS.petapascal, BigDecimal.valueOf(1E+33), UnitGroup.PRESSURE, R.string.petapascal, R.string.petapascal_short), + MyUnit(MyUnitIDS.exapascal, BigDecimal.valueOf(1E+36), UnitGroup.PRESSURE, R.string.exapascal, R.string.exapascal_short), + MyUnit(MyUnitIDS.psi, BigDecimal.valueOf(6.8947572931783E+21), UnitGroup.PRESSURE, R.string.psi, R.string.psi_short), + MyUnit(MyUnitIDS.ksi, BigDecimal.valueOf(6.8947572931783E+24), UnitGroup.PRESSURE, R.string.ksi, R.string.ksi_short), + MyUnit(MyUnitIDS.standard_atmosphere, BigDecimal.valueOf(101.325E+21), UnitGroup.PRESSURE, R.string.standard_atmosphere, R.string.standard_atmosphere_short), + MyUnit(MyUnitIDS.torr, BigDecimal.valueOf(1.3332236842108281E+20), UnitGroup.PRESSURE, R.string.torr, R.string.torr_short), + MyUnit(MyUnitIDS.millimeter_of_mercury, BigDecimal.valueOf(1.3332236842108281E+20), UnitGroup.PRESSURE, R.string.millimeter_of_mercury, R.string.millimeter_of_mercury_short), + ) +} diff --git a/app/src/main/java/com/sadellie/unitto/data/units/collections/Speed.kt b/app/src/main/java/com/sadellie/unitto/data/units/collections/Speed.kt index 903a4a84..01fff370 100644 --- a/app/src/main/java/com/sadellie/unitto/data/units/collections/Speed.kt +++ b/app/src/main/java/com/sadellie/unitto/data/units/collections/Speed.kt @@ -21,7 +21,7 @@ val SPEED_COLLECTION: List by lazy { MyUnit(MyUnitIDS.kilometer_per_hour, BigDecimal.valueOf(1_000_000), UnitGroup.SPEED, R.string.kilometer_per_hour, R.string.kilometer_per_hour_short), MyUnit(MyUnitIDS.kilometer_per_minute, BigDecimal.valueOf(60_000_000), UnitGroup.SPEED, R.string.kilometer_per_minute, R.string.kilometer_per_minute_short), MyUnit(MyUnitIDS.kilometer_per_second, BigDecimal.valueOf(3_600_000_000), UnitGroup.SPEED, R.string.kilometer_per_second, R.string.kilometer_per_second_short), - MyUnit(MyUnitIDS.foot_per_hour, BigDecimal.valueOf(304), UnitGroup.SPEED, R.string.foot_per_hour, R.string.foot_per_hour_short), + MyUnit(MyUnitIDS.foot_per_hour, BigDecimal.valueOf(304.8), UnitGroup.SPEED, R.string.foot_per_hour, R.string.foot_per_hour_short), MyUnit(MyUnitIDS.foot_per_minute, BigDecimal.valueOf(18_288), UnitGroup.SPEED, R.string.foot_per_minute, R.string.foot_per_minute_short), MyUnit(MyUnitIDS.foot_per_second, BigDecimal.valueOf(1_097_280), UnitGroup.SPEED, R.string.foot_per_second, R.string.foot_per_second_short), MyUnit(MyUnitIDS.yard_per_hour, BigDecimal.valueOf(914.4), UnitGroup.SPEED, R.string.yard_per_hour, R.string.yard_per_hour_short), @@ -35,7 +35,7 @@ val SPEED_COLLECTION: List by lazy { MyUnit(MyUnitIDS.cosmic_velocity_first, BigDecimal.valueOf(28_440_000_000), UnitGroup.SPEED, R.string.cosmic_velocity_first, R.string.cosmic_velocity_first_short), MyUnit(MyUnitIDS.cosmic_velocity_second, BigDecimal.valueOf(40_320_000_000), UnitGroup.SPEED, R.string.cosmic_velocity_second, R.string.cosmic_velocity_second_short), MyUnit(MyUnitIDS.cosmic_velocity_third, BigDecimal.valueOf(60_012_000_000), UnitGroup.SPEED, R.string.cosmic_velocity_third, R.string.cosmic_velocity_third_short), - MyUnit(MyUnitIDS.earths_orbital_speed, BigDecimal.valueOf(107_208_000_000), UnitGroup.SPEED, R.string.earths_orbital_speed, R.string.earths_orbital_speed_short), + MyUnit(MyUnitIDS.earths_orbital_speed, BigDecimal.valueOf(107_154_000_000), UnitGroup.SPEED, R.string.earths_orbital_speed, R.string.earths_orbital_speed_short), MyUnit(MyUnitIDS.mach, BigDecimal.valueOf(1_236_960_000), UnitGroup.SPEED, R.string.mach, R.string.mach_short), MyUnit(MyUnitIDS.mach_si_standard, BigDecimal.valueOf(1_062_167_040), UnitGroup.SPEED, R.string.mach_si_standard, R.string.mach_si_standard_short),) } diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 97cd1f7a..796b556d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -540,5 +540,135 @@ Очистить ввод Добавить или убрать величину из избранных Пустой результат поиска + Парсек + пк + Килопарсек + кпк + Мегапарсек + Мпк + Экваториальный радиус Меркурия + Меркурий R + Экваториальный радиус Венеры + Венера R + Экваториальный радиус Земля + Земля R + Экваториальный радиус Марса + Марс R + Экваториальный радиус Юпитера + Юпитер R + Экваториальный радиус Сатурна + Сатурн R + Экваториальный радиус Урана + Уран R + Экваториальный радиус Нептуна + Нептун R + Экваториальный радиус Солнца + Солнце R + Аттопаскаль + аПа + Фемтопаскаль + фПа + Пикопаскаль + пПа + Нанопаскаль + нПа + Микропаскаль + мкПа + Миллипаскаль + мПа + Сантипаскаль + сПа + Деципаскаль + дПа + Паскаль + Па + Декапаскаль + даПа + Гектопаскаль + гПа + Бар + бар + Мегапаскаль + МПа + Гигапаскаль + ГПа + Терапаскаль + ТПа + Петапаскаль + ППа + Экзапаскаль + ЭПа + Фунт на квадратный дюйм + Килофунт на квадратный дюйм + Физическая атмосфера + атм + Торр + торр + Миллиметр ртутного столба + мм рт.ст. + Аттометер на секунду в квадрате + ам/с^2 + Фемтометер на секунду в квадрате + фм/с^2 + Пикометер на секунду в квадрате + пм/с^2 + Нанометер на секунду в квадрате + нм/с^2 + Микрометер на секунду в квадрате + мкм/с^2 + Миллиметер на секунду в квадрате + мм/с^2 + Сантиметер на секунду в квадрате + см/с^2 + Дециметер на секунду в квадрате + дм/с^2 + Метер на секунду в квадрате + м/с^2 + Километер на секунду в квадрате + км/с^2 + Декаметер на секунду в квадрате + дам/с^2 + Гектометер на секунду в квадрате + гм/с^2 + Гал + Гал + Поверхностная гравитация Меркурия + Меркурий g + Поверхностная гравитация Венеры + Венера g + Поверхностная гравитация Земля + Земля g + Поверхностная гравитация Марса + Марс g + Поверхностная гравитация Юпитера + Юпитер g + Поверхностная гравитация Сатурна + Сатурн g + Поверхностная гравитация Урана + Уран g + Поверхностная гравитация Нептуна + Нептун g + Поверхностная гравитация Солнца + Солнце g + Масса Меркурия + Меркурий M + Масса Венеры + Венера M + Масса Земля + Земля M + Масса Марса + Марс M + Масса Юпитера + Юпитер M + Масса Сатурна + Сатурн M + Масса Урана + Уран M + Масса Нептуна + Нептун M + Масса Солнца + Солнце M + Давление + Ускорение \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 36d57caa..dc628215 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -28,6 +28,30 @@ in Light year ly + Parsec + pc + Kiloparsec + kpc + Megaparsec + Mpc + Mercury equatorial radius + Mercury R + Venus equatorial radius + Venus R + Earth equatorial radius + Earth R + Mars equatorial radius + Mars R + Jupiter equatorial radius + Jupiter R + Saturn equatorial radius + Saturn R + Uranus equatorial radius + Uranus R + Neptune equatorial radius + Neptune R + Sun equatorial radius + Sun R Electron mass @@ -50,6 +74,24 @@ oz Carat ct + Mercury mass + Mercury M + Venus mass + Venus M + Earth mass + Earth M + Mars mass + Mars M + Jupiter mass + Jupiter M + Saturn mass + Saturn M + Uranus mass + Uranus M + Neptune mass + Neptune M + Sun mass + Sun M Celsius @@ -343,6 +385,98 @@ Turn tr + + Attopascal + aPa + Femtopascal + fPa + Picopascal + pPa + Nanopascal + nPa + Micropascal + µPa + Millipascal + mPa + Centipascal + cPa + Decipascal + dPa + Pascal + Pa + Dekapascal + daPa + Hectopascal + hPa + Bar + bar + Megapascal + MPa + Gigapascal + GPA + Terapascal + TPa + Petapascal + PPa + Exapascal + EPa + Pound per square inch + psi + Kilopound per square inch + ksi + Standard atmosphere + atm + Torr + torr + Millimeter of mercury + mm Hg + + + Attometer per square second + am/s^2 + Femtometer per square second + fm/s^2 + Picometer per square second + pm/s^2 + Nanometer per square second + nm/s^2 + Micrometer per square second + µm/s^2 + Millimeter per square second + mm/s^2 + Centimeter per square second + cm/s^2 + Decimeter per square second + dm/s^2 + Meter per square second + m/s^2 + Kilometer per square second + km/s^2 + Dekameter per square second + dam/s^2 + Hectometer per square second + hm/s^2 + Gal + Gal + Mercury surface gravity + Mercury g + Venus surface gravity + Venus g + Earth surface gravity + Earth g + Mars surface gravity + Mars g + Jupiter surface gravity + Jupiter g + Saturn surface gravity + Saturn g + Uranus surface gravity + Uranus g + Neptune surface gravity + Neptune g + Sun surface gravity + Sun g + 1inch Network NCH @@ -775,6 +909,8 @@ Power Angle Data transfer + Pressure + Acceleration Currency diff --git a/app/src/test/java/com/sadellie/unitto/data/units/AllUnitsTest.kt b/app/src/test/java/com/sadellie/unitto/data/units/AllUnitsTest.kt new file mode 100644 index 00000000..91f5a0cd --- /dev/null +++ b/app/src/test/java/com/sadellie/unitto/data/units/AllUnitsTest.kt @@ -0,0 +1,340 @@ +package com.sadellie.unitto.data.units + + +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 +import java.math.BigDecimal + +@RunWith(JUnit4::class) +class AllUnitsTest { + + // Group and it's tested unit ids + var history: MutableMap> = mutableMapOf() + + @Test + fun testAcceleration() { + MyUnitIDS.attometer_per_square_second.checkWith(MyUnitIDS.femtometer_per_square_second, "69", "0.069") + MyUnitIDS.femtometer_per_square_second.checkWith(MyUnitIDS.picometer_per_square_second, "69", "0.069") + MyUnitIDS.picometer_per_square_second.checkWith(MyUnitIDS.micrometer_per_square_second, "69", "0.00007") + MyUnitIDS.nanometer_per_square_second.checkWith(MyUnitIDS.centimeter_per_square_second, "69", "0.000007") + MyUnitIDS.micrometer_per_square_second.checkWith(MyUnitIDS.nanometer_per_square_second, "69", "69000") + MyUnitIDS.millimeter_per_square_second.checkWith(MyUnitIDS.centimeter_per_square_second, "69", "6.9") + MyUnitIDS.centimeter_per_square_second.checkWith(MyUnitIDS.meter_per_square_second, "69", "0.69") + MyUnitIDS.decimeter_per_square_second.checkWith(MyUnitIDS.meter_per_square_second, "69", "6.9") + MyUnitIDS.meter_per_square_second.checkWith(MyUnitIDS.micrometer_per_square_second, "69", "69000000") + MyUnitIDS.kilometer_per_square_second.checkWith(MyUnitIDS.hectometer_per_square_second, "69", "690") + MyUnitIDS.dekameter_per_square_second.checkWith(MyUnitIDS.gal, "69", "69000") + MyUnitIDS.hectometer_per_square_second.checkWith(MyUnitIDS.gal, "69", "690000") + MyUnitIDS.gal.checkWith(MyUnitIDS.centimeter_per_square_second, "69", "69") + MyUnitIDS.mercury_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "3.7") + MyUnitIDS.venus_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "8.87") + MyUnitIDS.earth_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "9.80655") + MyUnitIDS.mars_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "3.71") + MyUnitIDS.jupiter_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "24.79") + MyUnitIDS.saturn_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "10.44") + MyUnitIDS.uranus_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "8.87") + MyUnitIDS.neptune_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "11.15") + MyUnitIDS.sun_surface_gravity.checkWith(MyUnitIDS.meter_per_square_second, "1", "274") + } + + @Test + fun testAngle() { + MyUnitIDS.angle_second.checkWith(MyUnitIDS.angle_minute, "420.5", "7.00833") + MyUnitIDS.angle_minute.checkWith(MyUnitIDS.radian, "420.5", "0.12232") + MyUnitIDS.degree.checkWith(MyUnitIDS.turn, "420.5", "1.16806") + MyUnitIDS.radian.checkWith(MyUnitIDS.turn, "420.5", "66.92465") + MyUnitIDS.sextant.checkWith(MyUnitIDS.radian, "420.5", "440.34657") + MyUnitIDS.turn.checkWith(MyUnitIDS.angle_minute, "420.5", "9082800") + } + + @Test + fun testArea() { + MyUnitIDS.acre.checkWith(MyUnitIDS.square_kilometer, "75.9", "0.30716") + MyUnitIDS.hectare.checkWith(MyUnitIDS.square_foot, "75.9", "8169808.00585") + MyUnitIDS.square_foot.checkWith(MyUnitIDS.square_decimeter, "75.9", "705.13407") + MyUnitIDS.square_mile.checkWith(MyUnitIDS.square_foot, "75.9", "2115970560.8762") + MyUnitIDS.square_yard.checkWith(MyUnitIDS.square_foot, "75.9", "683.1") + MyUnitIDS.square_inch.checkWith(MyUnitIDS.square_foot, "75.9", "0.52708") + MyUnitIDS.square_micrometer.checkWith(MyUnitIDS.square_millimeter, "75.9", "0.00008") + MyUnitIDS.square_millimeter.checkWith(MyUnitIDS.square_centimeter, "75.9", "0.759") + MyUnitIDS.square_centimeter.checkWith(MyUnitIDS.acre, "75.9", "0.000002") + MyUnitIDS.square_decimeter.checkWith(MyUnitIDS.square_meter, "75.9", "0.759") + MyUnitIDS.square_meter.checkWith(MyUnitIDS.acre, "75.9", "0.01876") + MyUnitIDS.square_kilometer.checkWith(MyUnitIDS.hectare, "75.9", "7590") + MyUnitIDS.electron_cross_section.checkWith(MyUnitIDS.square_micrometer, "75.9", "0.000000000000005") + } + + @Test + fun testDataTransfer() { + MyUnitIDS.bit_per_second.checkWith(MyUnitIDS.kilobit_per_second, "2048", "2.048") + MyUnitIDS.kibibit_per_second.checkWith(MyUnitIDS.bit_per_second, "2048", "2097152") + MyUnitIDS.kilobit_per_second.checkWith(MyUnitIDS.bit_per_second, "2048", "2048000") + MyUnitIDS.megabit_per_second.checkWith(MyUnitIDS.kilobit_per_second, "2048", "2048000") + MyUnitIDS.mebibit_per_second.checkWith(MyUnitIDS.kilobit_per_second, "2048", "2147483.648") + MyUnitIDS.gigabit_per_second.checkWith(MyUnitIDS.kilobit_per_second, "2048", "2048000000") + MyUnitIDS.terabit_per_second.checkWith(MyUnitIDS.gigabyte_per_second, "2048", "256000") + MyUnitIDS.petabit_per_second.checkWith(MyUnitIDS.gigabyte_per_second, "2048", "256000000") + MyUnitIDS.exabit_per_second.checkWith(MyUnitIDS.petabit_per_second, "2048", "2048000") + MyUnitIDS.byte_per_second.checkWith(MyUnitIDS.bit_per_second, "2048", "16384") + MyUnitIDS.kibibyte_per_second.checkWith(MyUnitIDS.bit_per_second, "2048", "16777216") + MyUnitIDS.kilobyte_per_second.checkWith(MyUnitIDS.kibibit_per_second, "2048", "16000") + MyUnitIDS.megabyte_per_second.checkWith(MyUnitIDS.kilobyte_per_second, "2048", "2048000") + MyUnitIDS.mebibyte_per_second.checkWith(MyUnitIDS.bit_per_second, "2048", "17179869184") + MyUnitIDS.gigabyte_per_second.checkWith(MyUnitIDS.kilobyte_per_second, "2048", "2048000000") + MyUnitIDS.terabyte_per_second.checkWith(MyUnitIDS.gigabyte_per_second, "2048", "2048000") + MyUnitIDS.petabyte_per_second.checkWith(MyUnitIDS.terabyte_per_second, "2048", "2048000") + MyUnitIDS.exabyte_per_second.checkWith(MyUnitIDS.petabyte_per_second, "2048", "2048000") + } + + @Test + fun testEnergy() { + MyUnitIDS.electron_volt.checkWith(MyUnitIDS.joule, "56000000000000000000", "8.97219") + MyUnitIDS.attojoule.checkWith(MyUnitIDS.calorie_th, "41840000000000", "0.00001") + MyUnitIDS.joule.checkWith(MyUnitIDS.kilocalorie_th, "4184", "1") + MyUnitIDS.kilojoule.checkWith(MyUnitIDS.calorie_th, "4184000000", "1000000000000") + MyUnitIDS.megajoule.checkWith(MyUnitIDS.calorie_th, "0.4184", "100000") + MyUnitIDS.gigajoule.checkWith(MyUnitIDS.calorie_th, "0.4184", "100000000") + MyUnitIDS.energy_ton.checkWith(MyUnitIDS.calorie_th, "0.4184", "418400000") + MyUnitIDS.kiloton.checkWith(MyUnitIDS.calorie_th, "0.4184", "418400000000") + MyUnitIDS.megaton.checkWith(MyUnitIDS.calorie_th, "0.4184", "418400000000000") + MyUnitIDS.gigaton.checkWith(MyUnitIDS.calorie_th, "0.000000004184", "4184000000") + MyUnitIDS.energy_horse_power_metric.checkWith(MyUnitIDS.joule, "10", "26477955") + MyUnitIDS.calorie_th.checkWith(MyUnitIDS.joule, "10", "41.84") + MyUnitIDS.kilocalorie_th.checkWith(MyUnitIDS.joule, "10", "41840") + } + + @Test + fun testFileSize() { + MyUnitIDS.bit.checkWith(MyUnitIDS.kilobit, "2048", "2.048") + MyUnitIDS.kibibit.checkWith(MyUnitIDS.bit, "2048", "2097152") + MyUnitIDS.kilobit.checkWith(MyUnitIDS.bit, "2048", "2048000") + MyUnitIDS.megabit.checkWith(MyUnitIDS.kilobit, "2048", "2048000") + MyUnitIDS.mebibit.checkWith(MyUnitIDS.kilobit, "2048", "2147483.648") + MyUnitIDS.gigabit.checkWith(MyUnitIDS.kilobit, "2048", "2048000000") + MyUnitIDS.terabit.checkWith(MyUnitIDS.gigabyte, "2048", "256000") + MyUnitIDS.petabit.checkWith(MyUnitIDS.gigabyte, "2048", "256000000") + MyUnitIDS.exabit.checkWith(MyUnitIDS.petabit, "2048", "2048000") + MyUnitIDS.byte.checkWith(MyUnitIDS.bit, "2048", "16384") + MyUnitIDS.kibibyte.checkWith(MyUnitIDS.bit, "2048", "16777216") + MyUnitIDS.kilobyte.checkWith(MyUnitIDS.kibibit, "2048", "16000") + MyUnitIDS.megabyte.checkWith(MyUnitIDS.kilobyte, "2048", "2048000") + MyUnitIDS.mebibyte.checkWith(MyUnitIDS.bit, "2048", "17179869184") + MyUnitIDS.gigabyte.checkWith(MyUnitIDS.kilobyte, "2048", "2048000000") + MyUnitIDS.terabyte.checkWith(MyUnitIDS.gigabyte, "2048", "2048000") + MyUnitIDS.petabyte.checkWith(MyUnitIDS.terabyte, "2048", "2048000") + MyUnitIDS.exabyte.checkWith(MyUnitIDS.petabyte, "2048", "2048000") + } + + @Test + fun testLength() { + MyUnitIDS.attometer.checkWith(MyUnitIDS.micrometer, "158000000000.7", "0.158") + MyUnitIDS.nanometer.checkWith(MyUnitIDS.inch, "158000000000.7", "6220.47244") + MyUnitIDS.micrometer.checkWith(MyUnitIDS.inch, "158000000000.7", "6220472.44097") + MyUnitIDS.millimeter.checkWith(MyUnitIDS.inch, "158000.7", "6220.5") + MyUnitIDS.centimeter.checkWith(MyUnitIDS.inch, "158000.7", "62205") + MyUnitIDS.decimeter.checkWith(MyUnitIDS.foot, "158000.7", "51837.5") + MyUnitIDS.meter.checkWith(MyUnitIDS.yard, "158000.7", "172791.66667") + MyUnitIDS.kilometer.checkWith(MyUnitIDS.mile, "100", "62.13712") + MyUnitIDS.inch.checkWith(MyUnitIDS.foot, "100", "8.33333") + MyUnitIDS.foot.checkWith(MyUnitIDS.inch, "100", "1200") + MyUnitIDS.yard.checkWith(MyUnitIDS.foot, "100", "300") + MyUnitIDS.mile.checkWith(MyUnitIDS.foot, "100", "528000") + MyUnitIDS.light_year.checkWith(MyUnitIDS.foot, "0.0000001", "3103914196.85037") + MyUnitIDS.parsec.checkWith(MyUnitIDS.foot, "0.00000001", "1012361411.25044") + MyUnitIDS.kiloparsec.checkWith(MyUnitIDS.foot, "0.00000000001", "1012361411.25044") + MyUnitIDS.megaparsec.checkWith(MyUnitIDS.foot, "0.00000000000001", "1012361411.25044") + MyUnitIDS.mercury_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "2439.7") + MyUnitIDS.venus_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "6051.8") + MyUnitIDS.earth_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "6371") + MyUnitIDS.mars_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "3389.5") + MyUnitIDS.jupiter_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "69911") + MyUnitIDS.saturn_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "58232") + MyUnitIDS.uranus_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "25362") + MyUnitIDS.neptune_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "24622") + MyUnitIDS.sun_equatorial_radius.checkWith(MyUnitIDS.kilometer, "1", "695508") + } + + @Test + fun testMass() { + MyUnitIDS.electron_mass_rest.checkWith(MyUnitIDS.milligram, "1500000000000000000", "0.000001") + MyUnitIDS.atomic_mass_unit.checkWith(MyUnitIDS.electron_mass_rest, "150", "273433.27951") + MyUnitIDS.milligram.checkWith(MyUnitIDS.ounce, "1500", "0.05291") + MyUnitIDS.gram.checkWith(MyUnitIDS.ounce, "1500", "52.91094") + MyUnitIDS.kilogram.checkWith(MyUnitIDS.carat, "1500", "7500000") + MyUnitIDS.metric_ton.checkWith(MyUnitIDS.carat, "1500", "7500000000") + MyUnitIDS.imperial_ton.checkWith(MyUnitIDS.kilogram, "1500", "1524070.3632") + MyUnitIDS.ounce.checkWith(MyUnitIDS.pound, "1500", "93.75") + MyUnitIDS.carat.checkWith(MyUnitIDS.pound, "1500", "0.66139") + MyUnitIDS.pound.checkWith(MyUnitIDS.kilogram, "1500", "680.38856") + MyUnitIDS.mercury_mass.checkWith(MyUnitIDS.kilogram, "1", "330104000000000000000000") + MyUnitIDS.venus_mass.checkWith(MyUnitIDS.kilogram, "1", "4867320000000000000000000") + MyUnitIDS.earth_mass.checkWith(MyUnitIDS.kilogram, "1", "5972190000000000000000000") + MyUnitIDS.mars_mass.checkWith(MyUnitIDS.kilogram, "1", "641693000000000000000000") + MyUnitIDS.jupiter_mass.checkWith(MyUnitIDS.kilogram, "1", "1898130000000000000000000000") + MyUnitIDS.saturn_mass.checkWith(MyUnitIDS.kilogram, "1", "568319000000000000000000000") + MyUnitIDS.uranus_mass.checkWith(MyUnitIDS.kilogram, "1", "86810300000000000000000000") + MyUnitIDS.neptune_mass.checkWith(MyUnitIDS.kilogram, "1", "102410000000000000000000000") + MyUnitIDS.sun_mass.checkWith(MyUnitIDS.kilogram, "1", "1989100000000000000000000000000") + } + + @Test + fun testPower() { + MyUnitIDS.attowatt.checkWith(MyUnitIDS.watt, "3950000000000000", "0.00395") + MyUnitIDS.watt.checkWith(MyUnitIDS.kilowatt, "395", "0.395") + MyUnitIDS.kilowatt.checkWith(MyUnitIDS.horse_power_mechanical, "395", "529.70373") + MyUnitIDS.megawatt.checkWith(MyUnitIDS.horse_power_mechanical, "395", "529703.72539") + MyUnitIDS.horse_power_mechanical.checkWith(MyUnitIDS.kilowatt, "395", "294.55145") + } + + @Test + fun testPressure() { + MyUnitIDS.attopascal.checkWith(MyUnitIDS.femtopascal, "456", "0.456") + MyUnitIDS.femtopascal.checkWith(MyUnitIDS.picopascal, "456", "0.456") + MyUnitIDS.picopascal.checkWith(MyUnitIDS.nanopascal, "456", "0.456") + MyUnitIDS.nanopascal.checkWith(MyUnitIDS.micropascal, "456", "0.456") + MyUnitIDS.micropascal.checkWith(MyUnitIDS.millipascal, "456", "0.456") + MyUnitIDS.millipascal.checkWith(MyUnitIDS.centipascal, "456", "45.6") + MyUnitIDS.centipascal.checkWith(MyUnitIDS.decipascal, "456", "45.6") + MyUnitIDS.decipascal.checkWith(MyUnitIDS.dekapascal, "456", "4.56") + MyUnitIDS.pascal.checkWith(MyUnitIDS.bar, "456", "0.00456") + MyUnitIDS.dekapascal.checkWith(MyUnitIDS.bar, "456", "0.0456") + MyUnitIDS.hectopascal.checkWith(MyUnitIDS.psi, "456", "6.61372") + MyUnitIDS.bar.checkWith(MyUnitIDS.ksi, "456", "6.61372") + MyUnitIDS.megapascal.checkWith(MyUnitIDS.ksi, "456", "66.13721") + MyUnitIDS.gigapascal.checkWith(MyUnitIDS.torr, "456", "3420281273.13024") + MyUnitIDS.terapascal.checkWith(MyUnitIDS.gigapascal, "456", "456000") + MyUnitIDS.petapascal.checkWith(MyUnitIDS.gigapascal, "456", "456000000") + MyUnitIDS.exapascal.checkWith(MyUnitIDS.gigapascal, "456", "456000000000") + MyUnitIDS.psi.checkWith(MyUnitIDS.gigapascal, "456", "0.00314") + MyUnitIDS.ksi.checkWith(MyUnitIDS.gigapascal, "456", "3.14401") + MyUnitIDS.standard_atmosphere.checkWith(MyUnitIDS.torr, "456", "346560") + MyUnitIDS.torr.checkWith(MyUnitIDS.hectopascal, "456", "607.95") + MyUnitIDS.millimeter_of_mercury.checkWith(MyUnitIDS.hectopascal, "456", "607.95") + } + + @Test + fun testSpeed() { + MyUnitIDS.millimeter_per_hour.checkWith(MyUnitIDS.kilometer_per_hour, "396", "0.0004") + MyUnitIDS.millimeter_per_minute.checkWith(MyUnitIDS.kilometer_per_hour, "396", "0.02376") + MyUnitIDS.millimeter_per_second.checkWith(MyUnitIDS.kilometer_per_hour, "396", "1.4256") + MyUnitIDS.centimeter_per_hour.checkWith(MyUnitIDS.kilometer_per_hour, "396", "0.00396") + MyUnitIDS.centimeter_per_minute.checkWith(MyUnitIDS.kilometer_per_hour, "396", "0.2376") + MyUnitIDS.centimeter_per_second.checkWith(MyUnitIDS.kilometer_per_hour, "396", "14.256") + MyUnitIDS.meter_per_hour.checkWith(MyUnitIDS.kilometer_per_hour, "396", "0.396") + MyUnitIDS.meter_per_minute.checkWith(MyUnitIDS.kilometer_per_hour, "396", "23.76") + MyUnitIDS.meter_per_second.checkWith(MyUnitIDS.kilometer_per_hour, "396", "1425.6") + MyUnitIDS.kilometer_per_hour.checkWith(MyUnitIDS.mile_per_hour, "396", "246.06299") + MyUnitIDS.kilometer_per_minute.checkWith(MyUnitIDS.mile_per_hour, "396", "14763.77953") + MyUnitIDS.kilometer_per_second.checkWith(MyUnitIDS.mile_per_hour, "396", "885826.77165") + MyUnitIDS.foot_per_hour.checkWith(MyUnitIDS.mile_per_hour, "396", "0.075") + MyUnitIDS.foot_per_minute.checkWith(MyUnitIDS.mile_per_hour, "396", "4.5") + MyUnitIDS.foot_per_second.checkWith(MyUnitIDS.mile_per_hour, "396", "270") + MyUnitIDS.yard_per_hour.checkWith(MyUnitIDS.mile_per_hour, "396", "0.225") + MyUnitIDS.yard_per_minute.checkWith(MyUnitIDS.mile_per_hour, "396", "13.5") + MyUnitIDS.yard_per_second.checkWith(MyUnitIDS.mile_per_hour, "396", "810") + MyUnitIDS.mile_per_hour.checkWith(MyUnitIDS.foot_per_hour, "396", "2090880") + MyUnitIDS.mile_per_minute.checkWith(MyUnitIDS.foot_per_hour, "396", "125452800") + MyUnitIDS.mile_per_second.checkWith(MyUnitIDS.foot_per_hour, "396", "7527168000") + MyUnitIDS.knot.checkWith(MyUnitIDS.meter_per_hour, "396", "733392") + MyUnitIDS.velocity_of_light_in_vacuum.checkWith(MyUnitIDS.meter_per_second, "1", "299792458") + MyUnitIDS.cosmic_velocity_first.checkWith(MyUnitIDS.meter_per_second, "1", "7900") + MyUnitIDS.cosmic_velocity_second.checkWith(MyUnitIDS.meter_per_second, "1", "11200") + MyUnitIDS.cosmic_velocity_third.checkWith(MyUnitIDS.meter_per_second, "1", "16670") + MyUnitIDS.earths_orbital_speed.checkWith(MyUnitIDS.meter_per_second, "1", "29765") + MyUnitIDS.mach.checkWith(MyUnitIDS.meter_per_second, "1", "343.6") + MyUnitIDS.mach_si_standard.checkWith(MyUnitIDS.meter_per_second, "1", "295.0464") + } + + @Test + fun testTemperature() { + MyUnitIDS.celsius.checkWith(MyUnitIDS.celsius, "0", "0") + MyUnitIDS.celsius.checkWith(MyUnitIDS.fahrenheit, "0", "32") + MyUnitIDS.celsius.checkWith(MyUnitIDS.kelvin, "0", "273.15") + MyUnitIDS.celsius.checkWith(MyUnitIDS.celsius, "36.6", "36.6") + MyUnitIDS.celsius.checkWith(MyUnitIDS.fahrenheit, "36.6", "97.88") + MyUnitIDS.celsius.checkWith(MyUnitIDS.kelvin, "36.6", "309.75") + MyUnitIDS.celsius.checkWith(MyUnitIDS.celsius, "-36.6", "-36.6") + MyUnitIDS.celsius.checkWith(MyUnitIDS.fahrenheit, "-36.6", "-33.88") + MyUnitIDS.celsius.checkWith(MyUnitIDS.kelvin, "-36.6", "236.55") + + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.celsius, "0", "-17.77778") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.fahrenheit, "0", "0") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.kelvin, "0", "255.37222") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.celsius, "36.6", "2.55556") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.fahrenheit, "36.6", "36.6") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.kelvin, "36.6", "275.70556") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.celsius, "-36.6", "-38.11111") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.fahrenheit, "-36.6", "-36.6") + MyUnitIDS.fahrenheit.checkWith(MyUnitIDS.kelvin, "-36.6", "235.03889") + + MyUnitIDS.kelvin.checkWith(MyUnitIDS.celsius, "0", "-273.15") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.fahrenheit, "0", "-459.67") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.kelvin, "0", "0") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.celsius, "36.6", "-236.55") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.fahrenheit, "36.6", "-393.79") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.kelvin, "36.6", "36.6") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.celsius, "-36.6", "-309.75") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.fahrenheit, "-36.6", "-525.55") + MyUnitIDS.kelvin.checkWith(MyUnitIDS.kelvin, "-36.6", "-36.6") + } + + @Test + fun testTime() { + MyUnitIDS.attosecond.checkWith(MyUnitIDS.millisecond, "366000000000", "0.00037") + MyUnitIDS.nanosecond.checkWith(MyUnitIDS.millisecond, "366", "0.00037") + MyUnitIDS.microsecond.checkWith(MyUnitIDS.millisecond, "366", "0.366") + MyUnitIDS.millisecond.checkWith(MyUnitIDS.second, "366", "0.366") + MyUnitIDS.jiffy.checkWith(MyUnitIDS.second, "366", "3.66") + MyUnitIDS.second.checkWith(MyUnitIDS.millisecond, "366", "366000") + MyUnitIDS.minute.checkWith(MyUnitIDS.millisecond, "366", "21960000") + MyUnitIDS.hour.checkWith(MyUnitIDS.millisecond, "366", "1317600000") + MyUnitIDS.day.checkWith(MyUnitIDS.hour, "366", "8784") + MyUnitIDS.week.checkWith(MyUnitIDS.hour, "366", "61488") + } + + @Test + fun testVolume() { + MyUnitIDS.attoliter.checkWith(MyUnitIDS.millimeter, "1507000000000", "0.00151") + MyUnitIDS.milliliter.checkWith(MyUnitIDS.liter, "1507", "1.507") + MyUnitIDS.liter.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "398.10728") + MyUnitIDS.us_liquid_gallon.checkWith(MyUnitIDS.us_fluid_ounce, "1507", "192896") + MyUnitIDS.us_liquid_quart.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "376.75") + MyUnitIDS.us_liquid_pint.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "188.375") + MyUnitIDS.us_legal_cup.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "94.1875") + MyUnitIDS.us_fluid_ounce.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "11.77344") + MyUnitIDS.us_tablespoon.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "5.88672") + MyUnitIDS.us_teaspoon.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "1.96224") + MyUnitIDS.imperial_gallon.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "1809.83154") + MyUnitIDS.imperial_quart.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "452.45788") + MyUnitIDS.imperial_pint.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "226.22894") + MyUnitIDS.imperial_cup.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "113.11447") + MyUnitIDS.imperial_fluid_ounce.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "11.31145") + MyUnitIDS.imperial_tablespoon.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "7.06965") + MyUnitIDS.imperial_teaspoon.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "2.35655") + MyUnitIDS.cubic_millimeter.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "0.0004") + MyUnitIDS.cubic_centimeter.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "0.39811") + MyUnitIDS.cubic_meter.checkWith(MyUnitIDS.us_liquid_gallon, "1507", "398107.2829") + MyUnitIDS.cubic_kilometer.checkWith(MyUnitIDS.us_liquid_gallon, "0.0000001507", "39810.72829") + } + + private fun String.checkWith(checkingId: String, value: String, expected: String) { + val unit = ALL_UNITS.first { it.unitId == this } + val actual = unit + .convert(ALL_UNITS.first { it.unitId == checkingId }, BigDecimal(value), 5) + .toPlainString() + assertEquals("Failed at $this to $checkingId", expected, actual) + println("PASSED: $this -> $expected == $actual") + val content: Set = history.getOrDefault(unit.group, setOf()) + history[unit.group] = content.plus(this) + } + + @After + fun after() { + val unitGroup = history.keys.first() + // GROUP : testedCount / totalCount + println("${unitGroup.name} : ${history[unitGroup]?.size} / ${ALL_UNITS.filter { it.group == unitGroup }.size}") + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 3896762a..1e49e70b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,3 +7,4 @@ dependencyResolutionManagement { } rootProject.name = "Unitto" include(":app") +include(":tools")