From 77113b1659a5f8b87650c3249e0a5295dc48303b Mon Sep 17 00:00:00 2001 From: mo Date: Fri, 19 Jul 2019 15:51:12 -0600 Subject: calculate BMI --- src/Q7/Person.java | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/Q7/PersonTest.java | 29 +++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 src/Q7/Person.java create mode 100644 src/Q7/PersonTest.java (limited to 'src') diff --git a/src/Q7/Person.java b/src/Q7/Person.java new file mode 100644 index 0000000..c447cc2 --- /dev/null +++ b/src/Q7/Person.java @@ -0,0 +1,70 @@ +package Q7; + +public class Person { + private double bmi; + private double height; + private double weight; + private String category; + private String name; + + public Person(String name, double weight, double height) { + this.name = name; + this.weight = weight; + this.height = height; + this.updateBMI(); + } + + public String getCategory() { + return this.getCategory(this.bmi); + } + + public String getCategory(double bmi) { + if (bmi < 18.5) { + return "Underweight"; + } else if (bmi < 25.0) { + return "Normal"; + } else if (bmi < 30.0) { + return "Overweight"; + } + return "Obese"; + } + + public String getName() { + return this.name; + } + + public double getBMI() { + return this.bmi; + } + + public double getHeight() { + return this.height; + } + + public double getWeight() { + return this.weight; + } + + public void setBMI(double bmi) { + this.bmi = bmi; + } + + public void setHeight(double height) { + this.height = height; + this.updateBMI(); + } + + public void setName(String name) { + this.name = name; + } + + public void setWeight(double weight) { + this.weight = weight; + this.updateBMI(); + } + + // BMI = (weight (lb) * 703) / ((height (in))^2) + private void updateBMI() { + this.setBMI((this.weight * 703) / Math.pow(height, 2)); + } +} diff --git a/src/Q7/PersonTest.java b/src/Q7/PersonTest.java new file mode 100644 index 0000000..1d79c9d --- /dev/null +++ b/src/Q7/PersonTest.java @@ -0,0 +1,29 @@ +package ca.mokhan.test; + +import Q7.*; +import java.io.*; +import java.text.*; +import java.util.*; +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class PersonTest extends TestCase { + private Person subject; + + public PersonTest(String testName) { + super(testName); + this.subject = new Person("mo", 1, 1); + } + + public static Test suite() { + return new TestSuite(PersonTest.class); + } + + public void test_getBMI_underweight() { + this.subject.setHeight(72); + this.subject.setWeight(100); + + assertEquals("Underweight", this.subject.getCategory()); + } +} -- cgit v1.2.3