From 55989652f0a2e2bdf63bc2179a13dc7a79d88a3c Mon Sep 17 00:00:00 2001 From: Jürgen Knödlseder Date: Sat, 13 Aug 2016 13:53:43 +0200 Subject: [PATCH] Enhance branch coverage (#1828) --- test/test_cscript.py | 44 +++++++++++++++++++++++++++++++++++++++++--- test/test_ctbin.py | 9 ++++++++- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/test/test_cscript.py b/test/test_cscript.py index a5ec5d0..2bba959 100755 --- a/test/test_cscript.py +++ b/test/test_cscript.py @@ -56,7 +56,7 @@ class cscript_test(ctools.cscript): def check_setup_observations(self, filename, events=True, cube=True): self.pars()['inobs'].value(filename) obs = gammalib.GObservations() - self._setup_observations(obs, True, events, cube) + self._setup_observations(obs, False, events, cube) return # Check setup_models() method @@ -76,6 +76,12 @@ class cscript_test(ctools.cscript): self._require_inobs('check_require_inobs') return + # Check require_inobs_nocube() method + def check_require_inobs_nocube(self, filename): + self.pars()['inobs'].value(filename) + self._require_inobs_nocube('check_require_inobs_nocube') + return + # Check get_roi() method def check_get_roi(self): return self._get_roi() @@ -125,6 +131,14 @@ class ctobservation_test(ctools.csobservation): # Return return + # Check first_unbinned_observation() method + def check_first_unbinned_observation(self): + return self._first_unbinned_observation() + + # Check next_unbinned_observation() method + def check_next_unbinned_observation(self): + return self._next_unbinned_observation() + # ======================= # # ctlikelihood_test class # @@ -245,6 +259,14 @@ class Test(test): except ValueError: self.test_try_success() + # Test setup_observations() for acceptable event list + self.test_try('Check setup_observations() for acceptable event list') + try: + empty.check_setup_observations(self._events, events=True) + self.test_try_success() + except ValueError: + self.test_try_failure('Exception thrown') + # Test setup_observations() for unacceptable event list self.test_try('Check setup_observations() for unacceptable event list') try: @@ -253,6 +275,14 @@ class Test(test): except ValueError: self.test_try_success() + # Test setup_observations() for acceptable counts cube + self.test_try('Check setup_observations() for acceptable counts cube') + try: + empty.check_setup_observations(self._cntcube, cube=True) + self.test_try_success() + except ValueError: + self.test_try_failure('Exception thrown') + # Test setup_observations() for unacceptable counts cube self.test_try('Check setup_observations() for unacceptable counts cube') try: @@ -303,6 +333,14 @@ class Test(test): except ValueError: self.test_try_success() + # Test require_inobs_nocube() method for invalid file name + self.test_try('Check require_inobs_nocube() method for counts cube') + try: + empty.check_require_inobs_nocube(self._cntcube) + self.test_try_failure('Exception not thrown') + except ValueError: + self.test_try_success() + # Test get_roi() method roi = empty.check_get_roi() self.test_assert(not roi.is_valid(), 'Check get_roi() method') @@ -351,11 +389,11 @@ class Test(test): empty = ctobservation_test() # Test first_unbinned_observation() method - self.test_assert(empty._first_unbinned_observation() is None, + self.test_assert(empty.check_first_unbinned_observation() is None, 'Check first_unbinned_observation() method') # Test next_unbinned_observation() method - self.test_assert(empty._next_unbinned_observation() is None, + self.test_assert(empty.check_next_unbinned_observation() is None, 'Check next_unbinned_observation() method') # Return diff --git a/test/test_ctbin.py b/test/test_ctbin.py index 63895b8..f016a77 100755 --- a/test/test_ctbin.py +++ b/test/test_ctbin.py @@ -101,6 +101,13 @@ class Test(test): self.test_assert(self._execute(cmd) != 0, 'Check invalid input file when executed from command line') + # Setup ctbin --help option + cmd = ctbin+' --help' + + # Check if execution was successful + self.test_assert(self._execute(cmd) == 0, + 'Check successful execution from command line with --help option') + # Return return @@ -231,7 +238,7 @@ class Test(test): # And finally go for a fully Pythonic version with all parameters # being specified in a dictionary - pars = {'inobs': self._events, 'ebinalg': 'LOG', 'emin': 0.1, + pars = {'inobs': self._events, 'ebinalg': 'LIN', 'emin': 0.1, 'emax': 100.0, 'enumbins': 10, 'nxpix': 40, 'nypix': 40, 'binsz': 0.1, 'coordsys': 'CEL', 'proj': 'CAR', 'xref': 83.63, 'yref': 22.01, 'outcube': 'ctbin_py4.fits', -- libgit2 0.21.4