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()