import unittest from unittests import wtc import wx import wx.grid #--------------------------------------------------------------------------- class grid_Tests(wtc.WidgetTestCase): # NOTE: Most of these tests simply check that the class exists and can be # instantiated. It would be nice to add more here, but in the meantime it # will probably be easier to test features and interoperability between # the classes in a non-unitest situation. See Phoenix/samples/grid def test_grid00(self): wx.grid.GRID_AUTOSIZE wx.grid.GRID_DRAW_ROWS_HEADER wx.grid.GRID_DRAW_COLS_HEADER wx.grid.GRID_DRAW_CELL_LINES wx.grid.GRID_DRAW_BOX_RECT wx.grid.GRID_DRAW_SELECTION wx.grid.GRID_DRAW_DEFAULT def test_grid01(self): c1 = wx.grid.GridCellCoords() c2 = wx.grid.GridCellCoords(5,10) def test_grid02(self): r = wx.grid.GridCellAutoWrapStringRenderer() def test_grid03(self): r = wx.grid.GridCellBoolRenderer() def test_grid04(self): r = wx.grid.GridCellDateTimeRenderer() def test_grid05(self): r = wx.grid.GridCellEnumRenderer() def test_grid06(self): r = wx.grid.GridCellFloatRenderer() def test_grid07(self): r = wx.grid.GridCellNumberRenderer() def test_grid08(self): r = wx.grid.GridCellStringRenderer() def test_grid09(self): class MyRenderer(wx.grid.GridCellRenderer): def Clone(self): return MyRenderer() def Draw(self, grid, attr, dc, rect, row, col, isSelected): pass def GetBestSize(self, grid, attr, dc, row, col): return (80,20) r = MyRenderer() def test_grid10(self): e = wx.grid.GridCellAutoWrapStringEditor() def test_grid11(self): e = wx.grid.GridCellBoolEditor() def test_grid12(self): e = wx.grid.GridCellChoiceEditor('one two three'.split()) def test_grid13(self): e = wx.grid.GridCellEnumEditor() def test_grid14(self): e = wx.grid.GridCellTextEditor() def test_grid15(self): e = wx.grid.GridCellFloatEditor() def test_grid16(self): e = wx.grid.GridCellNumberEditor() def test_grid17(self): class MyEditor(wx.grid.GridCellEditor): def Clone(self): return MyEditor() def BeginEdit(self, row, col, grid): pass def Create(self, parent, id, evtHandler): pass def EndEdit(self, row, col, grid, oldval): return None def ApplyEdit(self, row, col, grid): pass def Reset(self): pass def GetValue(self): return "" e = MyEditor() return e def test_grid17a(self): e = self.test_grid17() e.GetControl e.SetControl def test_grid18(self): a = wx.grid.GridCellAttr() a.DecRef() def test_grid18a(self): # test that some GCA methods which were missing are now present a = wx.grid.GridCellAttr() b = wx.grid.GridCellAttr() a.MergeWith(b) a.SetFont(wx.NORMAL_FONT) a.SetOverflow(True) a.SetSize(3,4) a.SetKind(wx.grid.GridCellAttr.Cell) a.HasReadWriteMode() a.HasOverflowMode() a.HasSize() a.GetSize() a.GetOverflow() a.GetKind() a.DecRef() def test_grid19(self): wx.grid.GridCellAttr.Any wx.grid.GridCellAttr.Cell wx.grid.GridCellAttr.Row wx.grid.GridCellAttr.Col wx.grid.GridCellAttr.Default wx.grid.GridCellAttr.Merged def test_grid20(self): class MyRenderer(wx.grid.GridCornerHeaderRenderer): def DrawBorder(self, grid, dc, rect): pass r = MyRenderer() def test_grid21(self): class MyRenderer(wx.grid.GridHeaderLabelsRenderer): def DrawBorder(self, grid, dc, rect): pass def DrawLabel(self, grid, dc, value, rect, horizAlign, vertAlign, textOrientation): pass r = MyRenderer() def test_grid22(self): class MyRenderer(wx.grid.GridRowHeaderRenderer): def DrawBorder(self, grid, dc, rect): pass def DrawLabel(self, grid, dc, value, rect, horizAlign, vertAlign, textOrientation): pass r = MyRenderer() def test_grid23(self): class MyRenderer(wx.grid.GridColumnHeaderRenderer): def DrawBorder(self, grid, dc, rect): pass def DrawLabel(self, grid, dc, value, rect, horizAlign, vertAlign, textOrientation): pass r = MyRenderer() def test_grid24(self): r = wx.grid.GridRowHeaderRendererDefault() def test_grid25(self): r = wx.grid.GridColumnHeaderRendererDefault() def test_grid26(self): r = wx.grid.GridCornerHeaderRendererDefault() def test_grid27(self): p = wx.grid.GridCellAttrProvider() def test_grid28(self): class MyTable(wx.grid.GridTableBase): def GetNumberRows(self): return 1 def GetNumberCols(self): return 1 def GetValue(self, row, col): return "" def SetValue(self, row, col, value): pass t = MyTable() def test_grid29(self): t = wx.grid.GridStringTable() def test_grid30(self): m = wx.grid.GridTableMessage() def test_grid31(self): m = wx.grid.GridSizesInfo() def test_grid32(self): g = wx.grid.Grid(self.frame) g.CreateGrid(10,5) def test_grid33(self): g = wx.grid.Grid(self.frame) g.CreateGrid(10,5) ul = wx.grid.GridUpdateLocker(g) g.SetCellValue(1,2, 'hello') g.SetCellValue((2,2), 'world') del ul def test_grid34(self): g = wx.grid.Grid(self.frame) g.CreateGrid(10,5) with wx.grid.GridUpdateLocker(g): g.SetCellValue(1,2, 'hello') g.SetCellValue((2,2), 'world') def test_grid35(self): e = wx.grid.GridEvent() def test_grid36(self): e = wx.grid.GridSizeEvent() def test_grid37(self): e = wx.grid.GridRangeSelectEvent() def test_grid38(self): e = wx.grid.GridEditorCreatedEvent() def test_grid39(self): wx.grid.wxEVT_GRID_CELL_LEFT_CLICK wx.grid.wxEVT_GRID_CELL_RIGHT_CLICK wx.grid.wxEVT_GRID_CELL_LEFT_DCLICK wx.grid.wxEVT_GRID_CELL_RIGHT_DCLICK wx.grid.wxEVT_GRID_LABEL_LEFT_CLICK wx.grid.wxEVT_GRID_LABEL_RIGHT_CLICK wx.grid.wxEVT_GRID_LABEL_LEFT_DCLICK wx.grid.wxEVT_GRID_LABEL_RIGHT_DCLICK wx.grid.wxEVT_GRID_ROW_SIZE wx.grid.wxEVT_GRID_COL_SIZE wx.grid.wxEVT_GRID_RANGE_SELECT wx.grid.wxEVT_GRID_CELL_CHANGING wx.grid.wxEVT_GRID_CELL_CHANGED wx.grid.wxEVT_GRID_SELECT_CELL wx.grid.wxEVT_GRID_EDITOR_SHOWN wx.grid.wxEVT_GRID_EDITOR_HIDDEN wx.grid.wxEVT_GRID_EDITOR_CREATED wx.grid.wxEVT_GRID_CELL_BEGIN_DRAG wx.grid.wxEVT_GRID_COL_MOVE wx.grid.wxEVT_GRID_COL_SORT wx.grid.wxEVT_GRID_TABBING def test_grid40(self): wx.grid.EVT_GRID_CELL_LEFT_CLICK wx.grid.EVT_GRID_CELL_RIGHT_CLICK wx.grid.EVT_GRID_CELL_LEFT_DCLICK wx.grid.EVT_GRID_CELL_RIGHT_DCLICK wx.grid.EVT_GRID_LABEL_LEFT_CLICK wx.grid.EVT_GRID_LABEL_RIGHT_CLICK wx.grid.EVT_GRID_LABEL_LEFT_DCLICK wx.grid.EVT_GRID_LABEL_RIGHT_DCLICK wx.grid.EVT_GRID_ROW_SIZE wx.grid.EVT_GRID_COL_SIZE wx.grid.EVT_GRID_RANGE_SELECT wx.grid.EVT_GRID_CELL_CHANGING wx.grid.EVT_GRID_CELL_CHANGED wx.grid.EVT_GRID_SELECT_CELL wx.grid.EVT_GRID_EDITOR_SHOWN wx.grid.EVT_GRID_EDITOR_HIDDEN wx.grid.EVT_GRID_EDITOR_CREATED wx.grid.EVT_GRID_CELL_BEGIN_DRAG wx.grid.EVT_GRID_COL_MOVE wx.grid.EVT_GRID_COL_SORT wx.grid.EVT_GRID_TABBING wx.grid.EVT_GRID_CMD_CELL_LEFT_CLICK wx.grid.EVT_GRID_CMD_CELL_RIGHT_CLICK wx.grid.EVT_GRID_CMD_CELL_LEFT_DCLICK wx.grid.EVT_GRID_CMD_CELL_RIGHT_DCLICK wx.grid.EVT_GRID_CMD_LABEL_LEFT_CLICK wx.grid.EVT_GRID_CMD_LABEL_RIGHT_CLICK wx.grid.EVT_GRID_CMD_LABEL_LEFT_DCLICK wx.grid.EVT_GRID_CMD_LABEL_RIGHT_DCLICK wx.grid.EVT_GRID_CMD_ROW_SIZE wx.grid.EVT_GRID_CMD_COL_SIZE wx.grid.EVT_GRID_CMD_RANGE_SELECT wx.grid.EVT_GRID_CMD_CELL_CHANGING wx.grid.EVT_GRID_CMD_CELL_CHANGED wx.grid.EVT_GRID_CMD_SELECT_CELL wx.grid.EVT_GRID_CMD_EDITOR_SHOWN wx.grid.EVT_GRID_CMD_EDITOR_HIDDEN wx.grid.EVT_GRID_CMD_EDITOR_CREATED wx.grid.EVT_GRID_CMD_CELL_BEGIN_DRAG wx.grid.EVT_GRID_CMD_COL_MOVE wx.grid.EVT_GRID_CMD_COL_SORT wx.grid.EVT_GRID_CMD_TABBING def test_grid41(self): wx.grid.Grid.SetCellHighlightPenWidth # Does it exist def test_grid42(self): # old names wx.grid.Grid.wxGridSelectCells wx.grid.Grid.wxGridSelectRows wx.grid.Grid.wxGridSelectColumns wx.grid.Grid.wxGridSelectRowsOrColumns def test_grid43(self): # new names wx.grid.Grid.SelectCells wx.grid.Grid.SelectRows wx.grid.Grid.SelectColumns wx.grid.Grid.SelectRowsOrColumns def test_GetIM(self): # Test the immutable version returned by GetIM obj = wx.grid.GridCellCoords(1,2) im = obj.GetIM() assert isinstance(im, tuple) assert im.Row == obj.Row assert im.Col == obj.Col obj2 = wx.grid.GridCellCoords(im) assert obj == obj2 def test_grid44(self): g = wx.grid.Grid(self.frame) g.CreateGrid(10,10) g.SelectBlock((1,1), (5,5)) tl = g.GetSelectionBlockTopLeft() br = g.GetSelectionBlockBottomRight() assert tl[0].Get() == (1,1) assert br[0].Get() == (5,5) def test_grid45(self): # See issue #297 g = wx.grid.Grid(self.frame) g.CreateGrid(10,10) g.SelectBlock((1,1), (5,5)) tl = g.GetSelectionBlockTopLeft()[0] br = g.GetSelectionBlockBottomRight()[0] assert tl.Get() == (1,1) assert br.Get() == (5,5) #--------------------------------------------------------------------------- if __name__ == '__main__': unittest.main()