Files
Phoenix/unittests/test_pseudodc.py
2016-07-29 20:08:10 -07:00

118 lines
2.9 KiB
Python

import unittest
from unittests import wtc
import wx
import wx.adv
WAITFOR = 250
#---------------------------------------------------------------------------
class pseudodc_Tests(wtc.WidgetTestCase):
def setUp(self):
super(pseudodc_Tests, self).setUp()
self.pnl = wx.Panel(self.frame)
self.pnl.Bind(wx.EVT_PAINT, self._paintIt)
self.pdc = wx.adv.PseudoDC()
self.pdc.SetBackground(wx.Brush('pink'))
self.pdc.Clear()
self.pdc.SetPen(wx.Pen('navy', 2))
self.pdc.SetBrush(wx.Brush('white'))
def _paintIt(self, evt):
# Paint event handler for the panel
dc = wx.PaintDC(self.pnl)
if 'wxMac' not in wx.PlatformInfo:
dc = wx.GCDC(dc)
self.pdc.DrawToDC(dc)
def _showIt(self):
self.pnl.Refresh()
self.waitFor(WAITFOR)
def test_pseudodc01(self):
assert self.pdc.GetLen() == 4
assert self.pdc.Len == 4
def test_pseudodc02(self):
self.pdc.DrawRectangle(10, 10, 50, 25)
self.pdc.DrawRectangle(wx.Rect(10, 40, 50, 25))
self.pdc.DrawRectangle((10, 70), (50,25))
self._showIt()
def test_pseudodc03(self):
self.pdc.DrawRoundedRectangle(10, 10, 50, 25, 4.5)
self.pdc.DrawRoundedRectangle(wx.Rect(10, 40, 50, 25), 4.5)
self.pdc.DrawRoundedRectangle((10, 70), (50,25), 4.5)
self._showIt()
def test_pseudodc04(self):
points = [ (10, 10),
(50, 10),
(50, 50),
(10, 50),
(10, 90),
(50, 90),
]
self.pdc.DrawLines(points)
self._showIt()
def test_pseudodc05(self):
for offset in range(0, 300, 10):
self.pdc.DrawLine(0, offset, offset, 0)
self._showIt()
def test_pseudodc06(self):
for offset in range(0, 300, 10):
self.pdc.DrawLine((0, offset), (offset, 0))
self._showIt()
def test_pseudodc07(self):
points = [ (10, 10),
(25, 50),
(10, 75),
(75, 100)]
self.pdc.DrawSpline(points)
self._showIt()
def test_pseudodc08(self):
points = [ (10, 10),
(50, 10),
(50, 50),
(10, 50),
(10, 90),
(50, 90),
]
self.pdc.DrawPolygon(points)
self._showIt()
def test_pseudodc09(self):
self.pdc.DrawEllipse(10, 10, 50, 25)
self.pdc.DrawEllipse(wx.Rect(10, 40, 50, 25))
self.pdc.DrawEllipse((10, 70), (50,25))
self._showIt()
def test_pseudodc10(self):
self.pdc.SetId(123)
self.test_pseudodc02()
self.pdc.TranslateId(123, 25, 25)
self._showIt()
#---------------------------------------------------------------------------
if __name__ == '__main__':
unittest.main()