diff --git a/core-java-modules/core-java-lang-math-3/src/main/java/com/baeldung/math/bmicalculator/BMICalculator.java b/core-java-modules/core-java-lang-math-3/src/main/java/com/baeldung/math/bmicalculator/BMICalculator.java new file mode 100644 index 0000000000..c960b3da55 --- /dev/null +++ b/core-java-modules/core-java-lang-math-3/src/main/java/com/baeldung/math/bmicalculator/BMICalculator.java @@ -0,0 +1,18 @@ +package com.baeldung.math.bmicalculator; + +public class BMICalculator { + + public static String calculateBMI(double weight, double height) { + + double bmi = weight / (height * height); + + if (bmi < 18.5) + return "Underweight"; + else if (bmi < 25) + return "Normal"; + else if (bmi < 30) + return "Overweight"; + else + return "Obese"; + } +} diff --git a/core-java-modules/core-java-lang-math-3/src/test/java/com/baeldung/math/bmicalculator/BMICalculatorUnitTest.java b/core-java-modules/core-java-lang-math-3/src/test/java/com/baeldung/math/bmicalculator/BMICalculatorUnitTest.java new file mode 100644 index 0000000000..ecba126d0c --- /dev/null +++ b/core-java-modules/core-java-lang-math-3/src/test/java/com/baeldung/math/bmicalculator/BMICalculatorUnitTest.java @@ -0,0 +1,19 @@ +package com.baeldung.math.bmicalculator; + +import static org.assertj.core.api.Assertions.assertThat; +import org.junit.jupiter.api.Test; + +public class BMICalculatorUnitTest { + + @Test + public void whenBMIIsGreaterThanThirty_thenObese() { + + double weight = 100; + double height = 1.524; + String actual = BMICalculator.calculateBMI(weight, height); + String expected = "Obese"; + + assertThat(actual).isEqualTo(expected); + + } +}