4
4
// Created: 2025-01-06 //
5
5
// Author: Matthew Carroll //
6
6
// ----- //
7
- // Last Modified: 2025-05-08 //
7
+ // Last Modified: 2025-05-15 //
8
8
// Modified By: Matthew Carroll //
9
9
// ----- //
10
10
// Copyright (c) 2025 Syndemics Lab at Boston Medical Center //
34
34
#include < sampler_mock.hpp>
35
35
36
36
using ::testing::_;
37
+ using ::testing::NiceMock;
37
38
using ::testing::Return;
38
39
39
40
using namespace hepce ::data;
@@ -44,7 +45,7 @@ namespace testing {
44
45
45
46
class DeathTest : public ::testing::Test {
46
47
protected:
47
- MockPerson mock_person;
48
+ NiceMock< MockPerson> mock_person;
48
49
MockSampler mock_sampler;
49
50
std::string test_db = " inputs.db" ;
50
51
std::string test_conf = " sim.conf" ;
@@ -75,6 +76,13 @@ class DeathTest : public ::testing::Test {
75
76
discounted_life = utils::Discount (1 , 0.0025 , 1 , false );
76
77
model_data = datamanagement::ModelData::Create (test_conf);
77
78
model_data->AddSource (test_db);
79
+
80
+ ON_CALL (mock_person, GetAge ()).WillByDefault (Return (300 ));
81
+ ON_CALL (mock_person, GetCurrentlyOverdosing ())
82
+ .WillByDefault (Return (false ));
83
+ ON_CALL (mock_person, GetSex ()).WillByDefault (Return (data::Sex::kMale ));
84
+ ON_CALL (mock_person, GetBehaviorDetails ())
85
+ .WillByDefault (Return (behaviors));
78
86
}
79
87
void TearDown () override {
80
88
std::filesystem::remove (test_db);
@@ -95,27 +103,14 @@ TEST_F(DeathTest, AgeDR) {
95
103
auto event = event::base::Death::Create (*model_data, LOG_NAME);
96
104
event->Execute (mock_person, mock_sampler);
97
105
98
- // Testing the Overdose Table Logging
99
- std::string expected = " No Overdose Table Found in the inputs database..." ;
100
- std::string line;
101
- std::ifstream f (LOG_FILE);
102
- std::getline (f, line);
103
- f.close ();
104
- ASSERT_TRUE (line.find (expected) != std::string::npos);
105
106
std::filesystem::remove (LOG_FILE);
106
107
}
107
108
108
109
TEST_F (DeathTest, F4_Infected_BackgroundDR) {
109
110
hcv_details.fibrosis_state = data::FibrosisState::kF4 ;
110
111
hcv_details.hcv = data::HCV::kChronic ;
111
112
112
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
113
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
114
- EXPECT_CALL (mock_person, GetHCVDetails ())
115
- .Times (2 )
116
- .WillRepeatedly (Return (hcv_details));
117
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
118
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
113
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
119
114
120
115
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (0 ));
121
116
EXPECT_CALL (mock_person, Die (data::DeathReason::kBackground )).Times (1 );
@@ -134,13 +129,7 @@ TEST_F(DeathTest, F4_Infected_LiverDR) {
134
129
hcv_details.fibrosis_state = data::FibrosisState::kF4 ;
135
130
hcv_details.hcv = data::HCV::kChronic ;
136
131
137
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
138
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
139
- EXPECT_CALL (mock_person, GetHCVDetails ())
140
- .Times (2 )
141
- .WillRepeatedly (Return (hcv_details));
142
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
143
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
132
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
144
133
145
134
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (1 ));
146
135
EXPECT_CALL (mock_person, Die (data::DeathReason::kLiver )).Times (1 );
@@ -159,13 +148,7 @@ TEST_F(DeathTest, F4_Uninfected_BackgroundDR) {
159
148
hcv_details.fibrosis_state = data::FibrosisState::kF4 ;
160
149
hcv_details.hcv = data::HCV::kNone ;
161
150
162
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
163
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
164
- EXPECT_CALL (mock_person, GetHCVDetails ())
165
- .Times (2 )
166
- .WillRepeatedly (Return (hcv_details));
167
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
168
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
151
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
169
152
170
153
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (0 ));
171
154
EXPECT_CALL (mock_person, Die (data::DeathReason::kBackground )).Times (1 );
@@ -184,13 +167,7 @@ TEST_F(DeathTest, F4_Uninfected_LiverDR) {
184
167
hcv_details.fibrosis_state = data::FibrosisState::kF4 ;
185
168
hcv_details.hcv = data::HCV::kNone ;
186
169
187
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
188
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
189
- EXPECT_CALL (mock_person, GetHCVDetails ())
190
- .Times (2 )
191
- .WillRepeatedly (Return (hcv_details));
192
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
193
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
170
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
194
171
195
172
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (1 ));
196
173
EXPECT_CALL (mock_person, Die (data::DeathReason::kLiver )).Times (1 );
@@ -209,13 +186,7 @@ TEST_F(DeathTest, Decomp_Infected_BackgroundDR) {
209
186
hcv_details.fibrosis_state = data::FibrosisState::kDecomp ;
210
187
hcv_details.hcv = data::HCV::kChronic ;
211
188
212
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
213
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
214
- EXPECT_CALL (mock_person, GetHCVDetails ())
215
- .Times (3 )
216
- .WillRepeatedly (Return (hcv_details));
217
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
218
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
189
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
219
190
220
191
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (0 ));
221
192
EXPECT_CALL (mock_person, Die (data::DeathReason::kBackground )).Times (1 );
@@ -234,13 +205,7 @@ TEST_F(DeathTest, Decomp_Infected_LiverDR) {
234
205
hcv_details.fibrosis_state = data::FibrosisState::kDecomp ;
235
206
hcv_details.hcv = data::HCV::kChronic ;
236
207
237
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
238
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
239
- EXPECT_CALL (mock_person, GetHCVDetails ())
240
- .Times (3 )
241
- .WillRepeatedly (Return (hcv_details));
242
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
243
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
208
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
244
209
245
210
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (1 ));
246
211
EXPECT_CALL (mock_person, Die (data::DeathReason::kLiver )).Times (1 );
@@ -259,13 +224,7 @@ TEST_F(DeathTest, Decomp_Uninfected_BackgroundDR) {
259
224
hcv_details.fibrosis_state = data::FibrosisState::kDecomp ;
260
225
hcv_details.hcv = data::HCV::kNone ;
261
226
262
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
263
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
264
- EXPECT_CALL (mock_person, GetHCVDetails ())
265
- .Times (3 )
266
- .WillRepeatedly (Return (hcv_details));
267
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
268
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
227
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
269
228
270
229
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (0 ));
271
230
EXPECT_CALL (mock_person, Die (data::DeathReason::kBackground )).Times (1 );
@@ -284,13 +243,7 @@ TEST_F(DeathTest, Decomp_Uninfected_LiverDR) {
284
243
hcv_details.fibrosis_state = data::FibrosisState::kDecomp ;
285
244
hcv_details.hcv = data::HCV::kNone ;
286
245
287
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
288
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
289
- EXPECT_CALL (mock_person, GetHCVDetails ())
290
- .Times (3 )
291
- .WillRepeatedly (Return (hcv_details));
292
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
293
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
246
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
294
247
295
248
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (1 ));
296
249
EXPECT_CALL (mock_person, Die (data::DeathReason::kLiver )).Times (1 );
@@ -309,13 +262,7 @@ TEST_F(DeathTest, NoDeath) {
309
262
hcv_details.fibrosis_state = data::FibrosisState::kDecomp ;
310
263
hcv_details.hcv = data::HCV::kNone ;
311
264
312
- EXPECT_CALL (mock_person, GetAge ()).Times (2 ).WillRepeatedly (Return (300 ));
313
- EXPECT_CALL (mock_person, GetCurrentlyOverdosing ()).WillOnce (Return (false ));
314
- EXPECT_CALL (mock_person, GetHCVDetails ())
315
- .Times (3 )
316
- .WillRepeatedly (Return (hcv_details));
317
- EXPECT_CALL (mock_person, GetSex ()).WillOnce (Return (data::Sex::kMale ));
318
- EXPECT_CALL (mock_person, GetBehaviorDetails ()).WillOnce (Return (behaviors));
265
+ ON_CALL (mock_person, GetHCVDetails ()).WillByDefault (Return (hcv_details));
319
266
320
267
EXPECT_CALL (mock_sampler, GetDecision (_)).WillOnce (Return (2 ));
321
268
EXPECT_CALL (mock_person, Die (_)).Times (0 );
0 commit comments