89 lines
2.3 KiB
Kotlin
89 lines
2.3 KiB
Kotlin
package com.example.bmicalculator
|
|
|
|
import org.junit.Assert.*
|
|
import org.junit.Test
|
|
|
|
class CalculateBMITest {
|
|
|
|
// Test BMI SI Metric (Kg, Cm)
|
|
@Test
|
|
fun testCalculateBMI_SI_Normal() {
|
|
val result = calculateBMI(170.0, 65.0, false) // 170cm, 65kg
|
|
assertEquals("22.5", result) // Expected BMI ≈ 22.5
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMI_SI_Zero() {
|
|
val result = calculateBMI(0.0, 0.0, false)
|
|
assertEquals("0.0", result)
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMI_SI_Underweight() {
|
|
val result = calculateBMI(170.0, 50.0, false) // 170cm, 50kg
|
|
assertEquals("17.3", result) // Expected BMI ≈ 17.3
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMI_SI_Overweight() {
|
|
val result = calculateBMI(170.0, 80.0, false) // 170cm, 80kg
|
|
assertEquals("27.7", result) // Expected BMI ≈ 27.7
|
|
}
|
|
|
|
// Test BMI USC Units (Pound, Inch)
|
|
@Test
|
|
fun testCalculateBMI_USC_Normal() {
|
|
val result = calculateBMI(70.0, 154.0, true) // 70 inch, 154 lbs
|
|
assertEquals("22.1", result) // Expected BMI ≈ 22.1
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMI_USC_Zero() {
|
|
val result = calculateBMI(0.0, 0.0, true)
|
|
assertEquals("0.0", result)
|
|
}
|
|
|
|
// Test BMI Category
|
|
@Test
|
|
fun testCalculateBMICategory_Underweight() {
|
|
val result = calculateBMICategory("17.5")
|
|
assertEquals("⚠\uFE0F Underweight", result)
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMICategory_Normal() {
|
|
val result = calculateBMICategory("22.5")
|
|
assertEquals("✅ Normal", result)
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMICategory_Overweight() {
|
|
val result = calculateBMICategory("27.5")
|
|
assertEquals("⚠\uFE0F Overweight", result)
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMICategory_Obesity() {
|
|
val result = calculateBMICategory("32.0")
|
|
assertEquals("‼\uFE0F Obesity", result)
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMICategory_Zero() {
|
|
val result = calculateBMICategory("0.0")
|
|
assertEquals("", result)
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMICategory_EmptyString() {
|
|
val result = calculateBMICategory("")
|
|
assertEquals("", result)
|
|
}
|
|
|
|
@Test
|
|
fun testCalculateBMICategory_WithComma() {
|
|
val result = calculateBMICategory("22,5") // Test dengan koma
|
|
assertEquals("✅ Normal", result)
|
|
}
|
|
}
|