forked from simpaths/SimPaths
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPersonTest.java
More file actions
114 lines (70 loc) · 2.92 KB
/
PersonTest.java
File metadata and controls
114 lines (70 loc) · 2.92 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
package simpaths.model;
import org.junit.jupiter.api.*;
import simpaths.data.Parameters;
import simpaths.model.enums.Country;
import static org.junit.jupiter.api.Assertions.*;
@DisplayName("Person class")
public class PersonTest {
static Person testPerson;
@BeforeAll
static void setup() {
testPerson = new Person(true);
}
@Nested
@DisplayName("EQ5D process")
class Eq5dTests {
@Nested
@DisplayName("With eq5dConversionParameters set to 'lawrence'")
class WithLawrenceParameters {
@BeforeEach
public void setupLawrenceCoefficients() {
Parameters.setInputDirectory("src/test/java/simpaths/testinput");
Parameters.eq5dConversionParameters = "lawrence";
Parameters.loadEQ5DParameters("UK", 8);
}
@Test
@DisplayName("Calculates low score correctly using Lawrence and Fleishman coefficients")
public void calculatesLowScoreCorrectly() {
testPerson.setDhe_mcs(1.);
testPerson.setDhe_pcs(1.);
testPerson.onEvent(Person.Processes.HealthEQ5D);
assertEquals(-0.594, testPerson.getHe_eq5d());
}
@Test
@DisplayName("Calculates high score correctly using Lawrence and Fleishman coefficients")
public void calculatesHighScoreCorrectly() {
testPerson.setDhe_mcs(100.);
testPerson.setDhe_pcs(100.);
testPerson.onEvent(Person.Processes.HealthEQ5D);
assertEquals(1, testPerson.getHe_eq5d());
}
}
@Nested
@DisplayName("With eq5dConversionParameters set to 'franks'")
class WithFranksParameters {
@BeforeEach
public void setupFranksCoefficients() {
Parameters.setInputDirectory("src/test/java/simpaths/testinput");
Parameters.eq5dConversionParameters = "franks";
Parameters.loadEQ5DParameters("UK", 8);
}
@Test
@DisplayName("Calculates low score correctly using Franks coefficients")
public void calculatesLowScoreCorrectly() {
testPerson.setDhe_mcs(1.);
testPerson.setDhe_pcs(1.);
testPerson.onEvent(Person.Processes.HealthEQ5D);
assertEquals(-0.594, testPerson.getHe_eq5d());
}
@Test
@DisplayName("Calculates high score correctly using Franks coefficients")
public void calculatesHighScoreCorrectly(){
testPerson.setDhe_mcs(100.);
testPerson.setDhe_pcs(100.);
testPerson.onEvent(Person.Processes.HealthEQ5D);
// The maximum possible value given by the Franks coefficients
assertEquals(0.9035601, testPerson.getHe_eq5d());
}
}
}
}