TDD로 컨트롤을 하나하나 붙이고 위치값을 잡고 리스트박스에 초기값을 설정하는 예제
test_myframe.py ¶
~cpp
from wxPython.wx import *
import unittest
from MyFrame import MyFrame
class TestFrame(unittest.TestCase):
def setUp(self):
self.frame = MyFrame()
def tearDown(self):
self.frame.Destroy()
self.frame = None
def testFramePositionSize(self):
expected = (400,400)
self.assertEquals(expected, self.frame.GetSizeTuple())
self.assertEquals(expected, self.frame.GetPositionTuple())
def testControls(self):
pass
def testbuttonText(self):
expected = "testing"
result = self.frame.button.GetLabel()
self.assertEquals(expected, result)
def testButtonRect(self):
expected = (100,100)
result = self.frame.button.GetPositionTuple()
self.assertEquals(expected, result)
expected = (200,50)
result = self.frame.button.GetSizeTuple()
self.assertEquals(expected, result)
def testListBox(self):
expected = ('testing1', 'testing2', 'testing3')
self.assertEquals(expected, self.frame.getListItemsTuple())
class TestApp(wxApp):
def OnInit(self):
return true
if __name__=="__main__":
testApp=TestApp(0)
unittest.main(argv=('','-v'))
myframe.py ¶
~cpp
from wxPython.wx import *
class MyFrame(wxFrame):
def __init__(self, parent=NULL, id=NewId(), title='test', pos=(400,400), size=(400,400)):
wxFrame.__init__(self, parent, id, title, pos, size)
ID_BUTTON = 10000
self.button = wxButton(self, ID_BUTTON, "testing", pos=(100,100), size=(200,50))
self.SetAutoLayout(true)
#pdb.set_trace()
self.listBox = wxListBox(self, NewId())
self.listBox.Append('testing1')
self.listBox.Append('testing2')
self.listBox.Append('testing3')
def getListItemsTuple(self):
retList = []
for idx in range(self.listBox.Number()):
retList.append(self.listBox.GetString(idx))
return tuple(retList)
class MyApp(wxApp):
def OnInit(self):
frame = MyFrame()
frame.Show(true)
return true
if __name__=="__main__":
App = MyApp(0)
App.MainLoop()