import os import string import sys import shutil import unittest from __main__ import default from tasks import * #from taskinit import * from __casac__ import tableplot ''' Unit tests for task plotants. It tests the following parameters: vis: wrong and correct values figfile: if output is created ''' tp = tableplot.tableplot() class plotants_test(unittest.TestCase): # Input and output names msfile = 'ic2233_1.ms' res = None fig = 'plotantstest.png' #tp = tableplot.tableplot() def setUp(self): self.res = None default(plotants) # Switch off the displaying of the GUI tp.setgui(gui=False) # It is not necessary to copy it for all tests if (not os.path.exists(self.msfile)): datapath = os.environ.get('CASAPATH').split()[0] + '/casatestdata/unittest/plotants/' shutil.copytree(datapath+self.msfile, self.msfile) def tearDown(self): if (os.path.exists(self.msfile)): os.system('rm -rf ' + self.msfile) os.system('rm -rf ' + self.fig) # Switch GUI back on tp.setgui(gui=True) def test1(self): '''Test 1: Default parameters''' # self.res = plotants() # self.assertFalse(self.res) with self.assertRaises(RuntimeError): plotants() def test2(self): '''Test 2: Bad input file''' msfile = 'badfile' # self.res = plotants(vis=msfile) # self.assertFalse(self.res) with self.assertRaises(RuntimeError): plotants(vis=msfile) def test3(self): '''Test 3: Good input file and output exists''' self.res = plotants(vis=self.msfile, figfile=self.fig) self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def test4(self): '''Test 4: Label antenna IDs''' self.res = plotants(vis=self.msfile, figfile=self.fig, antindex=True) self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def test5(self): '''Test 5: Logarithmic antenna positions''' self.res = plotants(vis=self.msfile, figfile=self.fig, logpos=True) self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def test6(self): '''Test 6: Exclude antenna positions''' self.res = plotants(vis=self.msfile, figfile=self.fig, exclude='1,5,19,14,10,13') self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def test7(self): '''Test 7: checkbaselines''' self.res = plotants(vis=self.msfile, figfile=self.fig, checkbaselines=True) self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def test8(self): '''Test 8: exclude checkbaselines''' # antenna (name) 11 is already excluded by checkbaselines # (warning) self.res = plotants(vis=self.msfile, figfile=self.fig, exclude='11', checkbaselines=True) self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def test9(self): '''Test 9: Title''' self.res = plotants(vis=self.msfile, figfile=self.fig, title='IC2233') self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def test10(self): '''Test 10: All arguments''' self.res = plotants(self.msfile, self.fig, True, True, '1,3,5,7,9', True, "IC2233") self.assertEqual(self.res,None) self.assertTrue(os.path.exists(self.fig)) def suite(): return [plotants_test]