You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
1.9 KiB

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