Commit 55989652f0a2e2bdf63bc2179a13dc7a79d88a3c

Authored by Jürgen Knödlseder
1 parent e0ba2a94

Enhance branch coverage (#1828)

test/test_cscript.py
@@ -56,7 +56,7 @@ class cscript_test(ctools.cscript): @@ -56,7 +56,7 @@ class cscript_test(ctools.cscript):
56 def check_setup_observations(self, filename, events=True, cube=True): 56 def check_setup_observations(self, filename, events=True, cube=True):
57 self.pars()['inobs'].value(filename) 57 self.pars()['inobs'].value(filename)
58 obs = gammalib.GObservations() 58 obs = gammalib.GObservations()
59 - self._setup_observations(obs, True, events, cube) 59 + self._setup_observations(obs, False, events, cube)
60 return 60 return
61 61
62 # Check setup_models() method 62 # Check setup_models() method
@@ -76,6 +76,12 @@ class cscript_test(ctools.cscript): @@ -76,6 +76,12 @@ class cscript_test(ctools.cscript):
76 self._require_inobs('check_require_inobs') 76 self._require_inobs('check_require_inobs')
77 return 77 return
78 78
  79 + # Check require_inobs_nocube() method
  80 + def check_require_inobs_nocube(self, filename):
  81 + self.pars()['inobs'].value(filename)
  82 + self._require_inobs_nocube('check_require_inobs_nocube')
  83 + return
  84 +
79 # Check get_roi() method 85 # Check get_roi() method
80 def check_get_roi(self): 86 def check_get_roi(self):
81 return self._get_roi() 87 return self._get_roi()
@@ -125,6 +131,14 @@ class ctobservation_test(ctools.csobservation): @@ -125,6 +131,14 @@ class ctobservation_test(ctools.csobservation):
125 # Return 131 # Return
126 return 132 return
127 133
  134 + # Check first_unbinned_observation() method
  135 + def check_first_unbinned_observation(self):
  136 + return self._first_unbinned_observation()
  137 +
  138 + # Check next_unbinned_observation() method
  139 + def check_next_unbinned_observation(self):
  140 + return self._next_unbinned_observation()
  141 +
128 142
129 # ======================= # 143 # ======================= #
130 # ctlikelihood_test class # 144 # ctlikelihood_test class #
@@ -245,6 +259,14 @@ class Test(test): @@ -245,6 +259,14 @@ class Test(test):
245 except ValueError: 259 except ValueError:
246 self.test_try_success() 260 self.test_try_success()
247 261
  262 + # Test setup_observations() for acceptable event list
  263 + self.test_try('Check setup_observations() for acceptable event list')
  264 + try:
  265 + empty.check_setup_observations(self._events, events=True)
  266 + self.test_try_success()
  267 + except ValueError:
  268 + self.test_try_failure('Exception thrown')
  269 +
248 # Test setup_observations() for unacceptable event list 270 # Test setup_observations() for unacceptable event list
249 self.test_try('Check setup_observations() for unacceptable event list') 271 self.test_try('Check setup_observations() for unacceptable event list')
250 try: 272 try:
@@ -253,6 +275,14 @@ class Test(test): @@ -253,6 +275,14 @@ class Test(test):
253 except ValueError: 275 except ValueError:
254 self.test_try_success() 276 self.test_try_success()
255 277
  278 + # Test setup_observations() for acceptable counts cube
  279 + self.test_try('Check setup_observations() for acceptable counts cube')
  280 + try:
  281 + empty.check_setup_observations(self._cntcube, cube=True)
  282 + self.test_try_success()
  283 + except ValueError:
  284 + self.test_try_failure('Exception thrown')
  285 +
256 # Test setup_observations() for unacceptable counts cube 286 # Test setup_observations() for unacceptable counts cube
257 self.test_try('Check setup_observations() for unacceptable counts cube') 287 self.test_try('Check setup_observations() for unacceptable counts cube')
258 try: 288 try:
@@ -303,6 +333,14 @@ class Test(test): @@ -303,6 +333,14 @@ class Test(test):
303 except ValueError: 333 except ValueError:
304 self.test_try_success() 334 self.test_try_success()
305 335
  336 + # Test require_inobs_nocube() method for invalid file name
  337 + self.test_try('Check require_inobs_nocube() method for counts cube')
  338 + try:
  339 + empty.check_require_inobs_nocube(self._cntcube)
  340 + self.test_try_failure('Exception not thrown')
  341 + except ValueError:
  342 + self.test_try_success()
  343 +
306 # Test get_roi() method 344 # Test get_roi() method
307 roi = empty.check_get_roi() 345 roi = empty.check_get_roi()
308 self.test_assert(not roi.is_valid(), 'Check get_roi() method') 346 self.test_assert(not roi.is_valid(), 'Check get_roi() method')
@@ -351,11 +389,11 @@ class Test(test): @@ -351,11 +389,11 @@ class Test(test):
351 empty = ctobservation_test() 389 empty = ctobservation_test()
352 390
353 # Test first_unbinned_observation() method 391 # Test first_unbinned_observation() method
354 - self.test_assert(empty._first_unbinned_observation() is None, 392 + self.test_assert(empty.check_first_unbinned_observation() is None,
355 'Check first_unbinned_observation() method') 393 'Check first_unbinned_observation() method')
356 394
357 # Test next_unbinned_observation() method 395 # Test next_unbinned_observation() method
358 - self.test_assert(empty._next_unbinned_observation() is None, 396 + self.test_assert(empty.check_next_unbinned_observation() is None,
359 'Check next_unbinned_observation() method') 397 'Check next_unbinned_observation() method')
360 398
361 # Return 399 # Return
test/test_ctbin.py
@@ -101,6 +101,13 @@ class Test(test): @@ -101,6 +101,13 @@ class Test(test):
101 self.test_assert(self._execute(cmd) != 0, 101 self.test_assert(self._execute(cmd) != 0,
102 'Check invalid input file when executed from command line') 102 'Check invalid input file when executed from command line')
103 103
  104 + # Setup ctbin --help option
  105 + cmd = ctbin+' --help'
  106 +
  107 + # Check if execution was successful
  108 + self.test_assert(self._execute(cmd) == 0,
  109 + 'Check successful execution from command line with --help option')
  110 +
104 # Return 111 # Return
105 return 112 return
106 113
@@ -231,7 +238,7 @@ class Test(test): @@ -231,7 +238,7 @@ class Test(test):
231 238
232 # And finally go for a fully Pythonic version with all parameters 239 # And finally go for a fully Pythonic version with all parameters
233 # being specified in a dictionary 240 # being specified in a dictionary
234 - pars = {'inobs': self._events, 'ebinalg': 'LOG', 'emin': 0.1, 241 + pars = {'inobs': self._events, 'ebinalg': 'LIN', 'emin': 0.1,
235 'emax': 100.0, 'enumbins': 10, 'nxpix': 40, 'nypix': 40, 242 'emax': 100.0, 'enumbins': 10, 'nxpix': 40, 'nypix': 40,
236 'binsz': 0.1, 'coordsys': 'CEL', 'proj': 'CAR', 243 'binsz': 0.1, 'coordsys': 'CEL', 'proj': 'CAR',
237 'xref': 83.63, 'yref': 22.01, 'outcube': 'ctbin_py4.fits', 244 'xref': 83.63, 'yref': 22.01, 'outcube': 'ctbin_py4.fits',