00001 import unittest 00002 import os 00003 import os.path 00004 import GPyUnit.util 00005 from GPyUnit.util import DispatchEx 00006 00007 _filedir = os.path.dirname(os.path.abspath(__file__)) 00008 def _adjacent_file(file): 00009 return os.path.join(_filedir, file) 00010 00011 class TestDecorators(unittest.TestCase): 00012 def test_MetaGME(self): 00013 self.runDecorators(os.environ['GME_ROOT'] + r"\Paradigms\MetaGME\MetaGME-model.xme") 00014 00015 def test_UML(self): 00016 self.runDecorators(os.environ['GME_ROOT'] + r"\Paradigms\UML\UMLMeta.xme") 00017 00018 def runDecorators(self, xme_file): 00019 mga = GPyUnit.util.parse_xme(self.connstr, xme_file) 00020 mga.Save() 00021 mga.Close() 00022 00023 self.gme = DispatchEx("GME.Application") 00024 self.gme.OpenProject(self.connstr) 00025 dumpwmf = DispatchEx("MGA.DumpWMF") 00026 dumpwmf.DumpWMFs(self.outdir, self.gme) 00027 00028 outdir = None 00029 gme = None 00030 def tearDown(self): 00031 if self.gme: 00032 self.gme.Exit() 00033 del(self.gme) 00034 import glob 00035 if self.outdir: 00036 for file in glob.glob(self.outdir + '/*'): 00037 os.unlink(file) 00038 00039 def setUp(self): 00040 outdir = _adjacent_file("TestDecoratorsOutput") 00041 if not os.path.isdir(outdir): 00042 os.mkdir(outdir) 00043 self.outdir = outdir 00044 00045 @property 00046 def connstr(self): 00047 return "MGA=" + _adjacent_file("TestDecorators.mga") 00048 00049 if __name__ == "__main__": 00050 unittest.main()