''' Created on Jan 4, 2014 @author: Chris ''' import os import sys import unittest from argparse import ArgumentParser import wx from gooey.gui import components class ComponentsTest(unittest.TestCase): def setUp(self): parser = ArgumentParser(description='Example Argparse Program') parser.add_argument("filename", help="Name of the file you want to read") parser.add_argument('-T', '--tester', choices=['yes', 'no']) parser.add_argument('-o', '--outfile', help='Redirects output to the specified file') parser.add_argument('-v', '--verbose', help='Toggles verbosity off') parser.add_argument('-e', '--repeat', action='count') action = parser._actions self.actions = { 'help': action[0], 'Positional': action[1], 'Choice': action[2], 'Optional': action[3], 'Flag': action[4], 'Counter': action[5] } def BuildWindow(self, component, _type): app = wx.PySimpleApp() module_name = os.path.split(sys.argv[0])[-1] frame = wx.Frame(None, -1, _type) panel = wx.Panel(frame, -1, size=(320, 240)) component_sizer = component.Build(panel) panel.SetSizer(component_sizer) frame.Show(True) app.MainLoop() def testPositionalWidgetBuild(self): self.SetupWidgetAndBuildWindow('Positional') def testChoiceWidgetBuild(self): self.SetupWidgetAndBuildWindow('Choice') def testOptionalWidgetBuild(self): self.SetupWidgetAndBuildWindow('Optional') def testFlagWidgetBuild(self): self.SetupWidgetAndBuildWindow('Flag') def testCounterWidgetBuild(self): self.SetupWidgetAndBuildWindow('Counter') def SetupWidgetAndBuildWindow(self, _type): component = getattr(components, _type)(self.actions[_type]) self.BuildWindow(component, _type) if __name__ == "__main__": # import sys;sys.argv = ['', 'Test.testName'] unittest.main()