Commit 5ccf80776bcfdb7d7028fcbda4ce19cabe24074b
1 parent
9afc87bd
Increase code coverage (#1828)
Showing
2 changed files
with
30 additions
and
28 deletions
test/test_csiactobs.py
| @@ -269,6 +269,7 @@ class Test(test): | @@ -269,6 +269,7 @@ class Test(test): | ||
| 269 | self.test_value(obs.size(), obs_expected, | 269 | self.test_value(obs.size(), obs_expected, |
| 270 | 'Check for '+str(obs_expected)+' observations in XML file') | 270 | 'Check for '+str(obs_expected)+' observations in XML file') |
| 271 | 271 | ||
| 272 | + # If there are observations in the XML file then check their content | ||
| 272 | if obs_expected > 0: | 273 | if obs_expected > 0: |
| 273 | 274 | ||
| 274 | # Get response | 275 | # Get response |
test/test_ctobssim.py
| 1 | #! /usr/bin/env python | 1 | #! /usr/bin/env python |
| 2 | # ========================================================================== | 2 | # ========================================================================== |
| 3 | -# This scripts performs unit tests for the ctobssim tool. | 3 | +# This scripts performs unit tests for the ctobssim tool |
| 4 | # | 4 | # |
| 5 | # Copyright (C) 2014-2016 Juergen Knoedlseder | 5 | # Copyright (C) 2014-2016 Juergen Knoedlseder |
| 6 | # | 6 | # |
| @@ -165,10 +165,10 @@ class Test(test): | @@ -165,10 +165,10 @@ class Test(test): | ||
| 165 | {'ra': 82.63, 'dec': 22.01}] | 165 | {'ra': 82.63, 'dec': 22.01}] |
| 166 | obs = obsutils.set_obs_list(pnts, caldb=self._caldb, irf=self._irf) | 166 | obs = obsutils.set_obs_list(pnts, caldb=self._caldb, irf=self._irf) |
| 167 | 167 | ||
| 168 | - # Set-up ctobssim from observation container | 168 | + # Set-up ctobssim tool from observation container |
| 169 | sim = ctools.ctobssim(obs) | 169 | sim = ctools.ctobssim(obs) |
| 170 | - sim['outevents'] = 'ctobssim_py2.xml' | ||
| 171 | sim['inmodel'] = self._model | 170 | sim['inmodel'] = self._model |
| 171 | + sim['outevents'] = 'ctobssim_py2.xml' | ||
| 172 | sim['logfile'] = 'ctobssim_py2.log' | 172 | sim['logfile'] = 'ctobssim_py2.log' |
| 173 | sim['chatter'] = 3 | 173 | sim['chatter'] = 3 |
| 174 | 174 | ||
| @@ -178,7 +178,7 @@ class Test(test): | @@ -178,7 +178,7 @@ class Test(test): | ||
| 178 | self.test_value(sim.max_rate(), 2*max_rate, 1.0e-3, | 178 | self.test_value(sim.max_rate(), 2*max_rate, 1.0e-3, |
| 179 | 'Check setting of maximum event rate') | 179 | 'Check setting of maximum event rate') |
| 180 | 180 | ||
| 181 | - # Run tool | 181 | + # Run ctobssim tool |
| 182 | sim.logFileOpen() | 182 | sim.logFileOpen() |
| 183 | sim.run() | 183 | sim.run() |
| 184 | 184 | ||
| @@ -201,30 +201,31 @@ class Test(test): | @@ -201,30 +201,31 @@ class Test(test): | ||
| 201 | self._test_list(obs[2].events(), 5955) | 201 | self._test_list(obs[2].events(), 5955) |
| 202 | self._test_list(obs[3].events(), 6030) | 202 | self._test_list(obs[3].events(), 6030) |
| 203 | 203 | ||
| 204 | - # Set-up ctobssim with invalid event file | ||
| 205 | - sim = ctools.ctobssim() | ||
| 206 | - sim['inmodel'] = 'model_file_that_does_not_exist.xml' | ||
| 207 | - sim['caldb'] = self._caldb | ||
| 208 | - sim['irf'] = self._irf | ||
| 209 | - sim['ra'] = 83.63 | ||
| 210 | - sim['dec'] = 22.01 | ||
| 211 | - sim['rad'] = 10.0 | ||
| 212 | - sim['tmin'] = 0.0 | ||
| 213 | - sim['tmax'] = 1800.0 | ||
| 214 | - sim['emin'] = 0.1 | ||
| 215 | - sim['emax'] = 100.0 | ||
| 216 | - sim['outevents'] = 'ctobssim_py3.fits' | ||
| 217 | - sim['logfile'] = 'ctobssim_py3.log' | ||
| 218 | - sim['chatter'] = 4 | ||
| 219 | - | ||
| 220 | - # Run ctbin tool | ||
| 221 | - self.test_try('Run ctobssim with invalid model file') | ||
| 222 | - try: | ||
| 223 | - sim.logFileOpen() | ||
| 224 | - sim.run() | ||
| 225 | - self.test_try_failure() | ||
| 226 | - except: | ||
| 227 | - self.test_try_success() | 204 | + # Copy ctobssim tool |
| 205 | + cpy_sim = sim.copy() | ||
| 206 | + | ||
| 207 | + # Retrieve observation and check content of copy | ||
| 208 | + self._test_observation(cpy_sim, nobs=4, pnts=pnts) | ||
| 209 | + self._test_list(cpy_sim.obs()[0].events(), 6003) | ||
| 210 | + self._test_list(cpy_sim.obs()[1].events(), 6084) | ||
| 211 | + self._test_list(cpy_sim.obs()[2].events(), 5955) | ||
| 212 | + self._test_list(cpy_sim.obs()[3].events(), 6030) | ||
| 213 | + | ||
| 214 | + # Execute copy of ctobssim tool again, now with a higher chatter | ||
| 215 | + # level than before | ||
| 216 | + cpy_sim['outevents'] = 'ctobssim_py3.xml' | ||
| 217 | + cpy_sim['logfile'] = 'ctobssim_py3.log' | ||
| 218 | + cpy_sim['chatter'] = 4 | ||
| 219 | + cpy_sim.logFileOpen() # Needed to get a new log file | ||
| 220 | + cpy_sim.execute() | ||
| 221 | + | ||
| 222 | + # Check result file | ||
| 223 | + obs = gammalib.GObservations('ctobssim_py3.xml') | ||
| 224 | + self.test_value(obs.size(), 4, 'Check for number of observations') | ||
| 225 | + self._test_list(obs[0].events(), 6003) | ||
| 226 | + self._test_list(obs[1].events(), 6084) | ||
| 227 | + self._test_list(obs[2].events(), 5955) | ||
| 228 | + self._test_list(obs[3].events(), 6030) | ||
| 228 | 229 | ||
| 229 | # Return | 230 | # Return |
| 230 | return | 231 | return |