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) } }