App.java

1
package com.epam.bootcamp.bmi_calculator;
2
3
import com.epam.bootcamp.bmi_calculator.interfacesImplements.*;
4
5
public class App extends Exception
6
{
7
8
	private double weight;
9
	private double height;
10
	private double bmi;
11
	
12
	/**
13
	 * A ZeroChecker megnézi, hogy nulla vagy kevesebb-e a súly vagy a magasság.
14
	 * Ha valamelyik nulla vagy kevesebb, akkor hibát dob.
15
	 */
16
	private void ZeroChecker() throws Exception{
17 2 1. ZeroChecker : changed conditional boundary → SURVIVED
2. ZeroChecker : negated conditional → KILLED
		if(this.weight <= 0){
18
			throw new Exception("Weight is equals or less than zero.");
19
		}
20 2 1. ZeroChecker : changed conditional boundary → SURVIVED
2. ZeroChecker : negated conditional → KILLED
		if(this.height <= 0){
21
			throw new Exception("Height is equals or less than zero.");
22
		}	
23
	}
24
	
25
	/**
26
	 * Ez adja értéknek a BMI-t a bmi változónak.
27
	 * Először megnézi a ZeroCheckerrel a kapott értékeket.
28
	 * Meghívja a GuessTheUnits osztályt, ami kitalálja, hogy milyen mértékegységekkel számoljuk a BMI-t(US vagy metric).
29
	 * Attól függően, hogy mi a mértékegység, hívjuk meg a számolót.
30
	 * @return a bmi értékével tér vissza a metódus
31
	 * @throws Exception
32
	 */
33
	public double calculateBMI() throws Exception{ //végül kiszámoljuk a BMI-t
34 1 1. calculateBMI : removed call to com/epam/bootcamp/bmi_calculator/App::ZeroChecker → SURVIVED
		ZeroChecker();
35
		GuessTheUnits gtu = new GuessTheUnits(this.height, this.weight);
36 1 1. calculateBMI : negated conditional → KILLED
		if(gtu.getUnitType().equals("US")){
37
			UsBMI ubmi = new UsBMI();
38 1 1. calculateBMI : removed call to com/epam/bootcamp/bmi_calculator/interfacesImplements/UsBMI::setBMI → KILLED
			ubmi.setBMI(gtu.getWeight(), gtu.getHeight());
39
			this.bmi = ubmi.getBMI();
40 1 1. calculateBMI : negated conditional → KILLED
		}else if(gtu.getUnitType().equals("metric")){
41
			MetricBMI mbmi = new MetricBMI();
42 1 1. calculateBMI : removed call to com/epam/bootcamp/bmi_calculator/interfacesImplements/MetricBMI::setBMI → KILLED
			mbmi.setBMI(gtu.getWeight(), gtu.getHeight());
43
			this.bmi = mbmi.getBMI();
44
		}
45 1 1. calculateBMI : replaced double return with 0.0d for com/epam/bootcamp/bmi_calculator/App::calculateBMI → KILLED
		return this.bmi;
46
	}
47
	
48
	/**
49
	 * A bmi változó értékétől függően kapjuk meg az adott ember értékelését
50
	 * @return Egy string, ami tartalmazza az értékelést
51
	 */
52
	public String bmiResult(){
53 2 1. bmiResult : changed conditional boundary → SURVIVED
2. bmiResult : negated conditional → KILLED
		if(this.bmi < 18.5){ // Sovány
54 1 1. bmiResult : replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED
			return "Thinness";
55 4 1. bmiResult : changed conditional boundary → SURVIVED
2. bmiResult : changed conditional boundary → SURVIVED
3. bmiResult : negated conditional → KILLED
4. bmiResult : negated conditional → KILLED
		}else if(this.bmi >= 18.5 && this.bmi <= 24.9){ // Normál testalkatú
56 1 1. bmiResult : replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED
			return "Normal";
57 4 1. bmiResult : changed conditional boundary → SURVIVED
2. bmiResult : changed conditional boundary → SURVIVED
3. bmiResult : negated conditional → KILLED
4. bmiResult : negated conditional → KILLED
		}else if(this.bmi > 24.9 && this.bmi <= 29.9){ // Túlsúlyos
58 1 1. bmiResult : replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED
			return "Overweight";
59
		}else{ // Erősen túlsúlyos
60 1 1. bmiResult : replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED
			return "Heavily overweight";
61
		}
62
	}
63
	
64
	/**
65
	 * Súly beállítása
66
	 * @param weight a súly
67
	 */
68
	public void setWeight(double weight){
69
		this.weight = weight;
70
	}
71
	
72
	/**
73
	 * Magasság beállítása
74
	 * @param height a magasság
75
	 */
76
	public void setHeight(double height){
77
		this.height = height;
78
	}
79
}

Mutations

17

1.1
Location : ZeroChecker
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : ZeroChecker
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest2(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

20

1.1
Location : ZeroChecker
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : ZeroChecker
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest4(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

34

1.1
Location : calculateBMI
Killed by : none
removed call to com/epam/bootcamp/bmi_calculator/App::ZeroChecker → SURVIVED

36

1.1
Location : calculateBMI
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest5(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

38

1.1
Location : calculateBMI
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest8(com.epam.bootcamp.bmi_calculator.BMITest)
removed call to com/epam/bootcamp/bmi_calculator/interfacesImplements/UsBMI::setBMI → KILLED

40

1.1
Location : calculateBMI
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest5(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

42

1.1
Location : calculateBMI
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest5(com.epam.bootcamp.bmi_calculator.BMITest)
removed call to com/epam/bootcamp/bmi_calculator/interfacesImplements/MetricBMI::setBMI → KILLED

45

1.1
Location : calculateBMI
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest5(com.epam.bootcamp.bmi_calculator.BMITest)
replaced double return with 0.0d for com/epam/bootcamp/bmi_calculator/App::calculateBMI → KILLED

53

1.1
Location : bmiResult
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest5(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

54

1.1
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest5(com.epam.bootcamp.bmi_calculator.BMITest)
replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED

55

1.1
Location : bmiResult
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : bmiResult
Killed by : none
changed conditional boundary → SURVIVED

3.3
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest9(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

4.4
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest8(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

56

1.1
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest9(com.epam.bootcamp.bmi_calculator.BMITest)
replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED

57

1.1
Location : bmiResult
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : bmiResult
Killed by : none
changed conditional boundary → SURVIVED

3.3
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest8(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

4.4
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest8(com.epam.bootcamp.bmi_calculator.BMITest)
negated conditional → KILLED

58

1.1
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest8(com.epam.bootcamp.bmi_calculator.BMITest)
replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED

60

1.1
Location : bmiResult
Killed by : com.epam.bootcamp.bmi_calculator.BMITest.BMITest7(com.epam.bootcamp.bmi_calculator.BMITest)
replaced return value with "" for com/epam/bootcamp/bmi_calculator/App::bmiResult → KILLED

Active mutators

Tests examined


Report generated by PIT 1.8.1