forked from mcgill-ecse321/temperature
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTemperatureTest.java
More file actions
122 lines (105 loc) · 4 KB
/
TemperatureTest.java
File metadata and controls
122 lines (105 loc) · 4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package temperature;
/**
* @author Aditya Mahajan <aditya.mahajan@mcgill.ca>
* @version 2013.10.06
* Unit Testing Temperature class
*/
// when I test data I will try to test situation which are most likely as well as the edge cases
import org.junit.* ;
import static org.junit.Assert.* ;
public class TemperatureTest {
Temperature boilingInC = new Temperature(100, Temperature.Units.CELSIUS);
Temperature boilingInF = new Temperature(212, Temperature.Units.FAHRENHEIT);
Temperature boilingInK = new Temperature(373.15, Temperature.Units.KELVIN);
Temperature absoluteZeroInC = new Temperature(-273.15, Temperature.Units.CELSIUS);
Temperature absoluteZeroInF = new Temperature(-459.67, Temperature.Units.FAHRENHEIT);
Temperature absoluteZeroInK = new Temperature(0, Temperature.Units.KELVIN);
/**
* Sample usage
* <pre><code>
* Temperature averageHighInOctober = new Temperature (15, Temperature.CELSIUS);
* Temperature converted = new Temperature(averageHighInOctober);
* converted.changeUnits(Temperature.FAHRENHEIT);
* System.out.println(
* String.format(
* "The average temperature of Montreal in October 2012 was %s (%s)",
* averageHighInOctober.toString(),
* converted.toString()));
*/
@Test
public void test_getUnits(){
// System.out.println("Test if getUnits returns CELSIUS");
Temperature.Units C = boilingInC.getUnits();
assertTrue("getUnits doesn't return CELSIUS", C == Temperature.Units.CELSIUS);
}
@Test
public void test_getValue(){
double expectedValue = 100;
double actualValue = boilingInC.getValue();
assertEquals("get value doesn't return the expected value", expectedValue, actualValue, 0.000001);
}
// public void test_changeUnits(Temperature.Units unitsFrom, double valueFrom, Temperature.Units unitsTo, double valueTo){
// Temperature boilingInC = new Temperature(100, Temperature.Units.CELSIUS);
// Temperature boilingInF = new Temperature(212, Temperature.Units.FAHRENHEIT);
// Temperature boilingInK = new Temperature(373.15, Temperature.Units.KELVIN);
//
// Temperature.Units expectedUnits = Temperature.Units.FAHRENHEIT;
//
// }
public void test_changeUnits(Temperature temperatureFrom, Temperature temperatureTo){ //meaning Temperature object from
Temperature.Units expectedUnits = temperatureTo.getUnits();
double expectedValue = temperatureTo.getValue();
temperatureFrom.changeUnits(expectedUnits);
Temperature.Units actualUnits = temperatureFrom.getUnits();
double actualValue = temperatureFrom.getValue();
assertTrue(expectedUnits == actualUnits);
System.out.println("expectedUnits:" + expectedUnits);
System.out.println("actualUnits:" + actualUnits);
System.out.println("expectedValue:" + expectedValue);
System.out.println("actualValue:" + actualValue);
assertEquals(expectedValue, actualValue, 0.000001);
}
@Test
public void test_changeUnits_CtoF(){
test_changeUnits(boilingInC, boilingInF);
test_changeUnits(absoluteZeroInC, absoluteZeroInF);
}
@Test
public void test_changeUnits_CtoK(){
test_changeUnits(boilingInC, boilingInK);
test_changeUnits(absoluteZeroInC, absoluteZeroInK);
}
@Test
public void test_changeUnits_FtoC(){
test_changeUnits(boilingInF, boilingInC);
test_changeUnits(absoluteZeroInF, absoluteZeroInC);
}
@Test
public void test_changeUnits_FtoK(){
test_changeUnits(boilingInF, boilingInK);
test_changeUnits(absoluteZeroInF, absoluteZeroInK);
}
@Test
public void test_changeUnits_KtoC(){
test_changeUnits(boilingInK, boilingInC);
test_changeUnits(absoluteZeroInK, absoluteZeroInC);
}
@Test
public void test_changeUnits_KtoF(){
test_changeUnits(boilingInK, boilingInF);
test_changeUnits(absoluteZeroInK, absoluteZeroInF);
}
// @Test
// public void test_unitsAfterConversion
// Temperature boilingInCelsius = new Temperature (100, Temperature.CELSIUS);
// Add multiple tests to check all functions of
// {@Code Temperature} class.
// @Test
// public void .... (){
// ...
// }
// @Test
// public void .... (){
// ...
// }
}