Commit fd1bcef4a8f0eb388904d2dbe32c5918505d76fc

Authored by Jürgen Knödlseder
1 parent 9607591f

Add unit test for ctool::create_energies() method

Showing 1 changed file with 51 additions and 0 deletions
test/test_cscript.py
... ... @@ -59,6 +59,11 @@ class cscript_test(ctools.cscript):
59 59 self.pars()['ebinfile'].value(filename)
60 60 return self._create_ebounds()
61 61  
  62 + # Check create_energies() method
  63 + def check_create_energies(self, filename):
  64 + self.pars()['ebinfile'].value(filename)
  65 + return self._create_energies()
  66 +
62 67 # Check require_inobs() method
63 68 def check_require_inobs(self, filename):
64 69 self.pars()['inobs'].value(filename)
... ... @@ -463,6 +468,52 @@ class Test(test):
463 468 except ValueError:
464 469 self.test_try_success()
465 470  
  471 + # Test create_energies() method for "EBOUNDS" extension
  472 + energies = empty.check_create_energies('test_ebinfile_ebounds.fits')
  473 + self.test_value(energies.size(), 2, 'Check number of energies')
  474 + self.test_value(energies[0].TeV(), 1.0, 'Check first energy')
  475 + self.test_value(energies[1].TeV(), 10.0, 'Check second energy')
  476 +
  477 + # Test create_energies() method for "ENERGYBINS" extension
  478 + energies = empty.check_create_energies('test_ebinfile_energybins.fits')
  479 + self.test_value(energies.size(), 2, 'Check number of energies')
  480 + self.test_value(energies[0].TeV(), 1.0, 'Check first energy')
  481 + self.test_value(energies[1].TeV(), 10.0, 'Check second energy')
  482 +
  483 + # Test create_energies() method for "ENERGIES" extension
  484 + energies = empty.check_create_energies('test_ebinfile_energies.fits')
  485 + self.test_value(energies.size(), 2, 'Check number of energies')
  486 + self.test_value(energies[0].TeV(), 1.0, 'Check first energy')
  487 + self.test_value(energies[1].TeV(), 10.0, 'Check second energy')
  488 +
  489 + # Test create_energies() method for invalid extension
  490 + self.test_try('Check create_energies() method for invalid extension')
  491 + try:
  492 + empty.check_create_energies('test_ebinfile_energies.fits[INVALID]')
  493 + self.test_try_failure('Exception not thrown')
  494 + except ValueError:
  495 + self.test_try_success()
  496 +
  497 + # Test create_energies() method for "BINS" extension
  498 + energies = empty.check_create_energies('test_ebinfile_bins.fits[BINS]')
  499 + self.test_value(energies.size(), 2, 'Check number of energies')
  500 + self.test_value(energies[0].TeV(), 1.0, 'Check first energy')
  501 + self.test_value(energies[1].TeV(), 10.0, 'Check second energy')
  502 +
  503 + # Test create_energies() method for "ENGS" extension
  504 + energies = empty.check_create_energies('test_ebinfile_engs.fits[ENGS]')
  505 + self.test_value(energies.size(), 2, 'Check number of energies')
  506 + self.test_value(energies[0].TeV(), 1.0, 'Check first energy')
  507 + self.test_value(energies[1].TeV(), 10.0, 'Check second energy')
  508 +
  509 + # Test create_energies() method for invalid extension name
  510 + self.test_try('Check create_energies() method for invalid extension name')
  511 + try:
  512 + empty.check_create_energies('test_ebinfile_bins.fits')
  513 + self.test_try_failure('Exception not thrown')
  514 + except ValueError:
  515 + self.test_try_success()
  516 +
466 517 # Test create_map() method
467 518 # TODO: implement
468 519  
... ...