1import unittest 2from unittests import wtc 3import wx 4 5#--------------------------------------------------------------------------- 6 7class palette_Tests(wtc.WidgetTestCase): 8 9 def test_paletteCtor1(self): 10 # test with a bytearray like the original impl 11 rgb = bytearray(range(256)) 12 p = wx.Palette(rgb, rgb, rgb) 13 self.assertTrue(p.IsOk()) 14 self.assertTrue(p.GetColoursCount() == 256) 15 self.assertTrue(p.GetPixel(42, 42, 42) == 42) 16 self.assertTrue(p.GetRGB(64) == (64, 64, 64)) 17 with self.assertRaises(IndexError): 18 p.GetRGB(257) 19 20 21 def test_paletteCtor2(self): 22 # and do the same using a list 23 rgb = list(range(256)) 24 p = wx.Palette(rgb, rgb, rgb) 25 self.assertTrue(p.IsOk()) 26 self.assertTrue(p.GetColoursCount() == 256) 27 self.assertTrue(p.GetPixel(42, 42, 42) == 42) 28 self.assertTrue(p.GetRGB(64) == (64, 64, 64)) 29 with self.assertRaises(IndexError): 30 p.GetRGB(257) 31 32 33 def test_paletteCtor3(self): 34 p = wx.Palette() 35 36 37 def test_paletteCtor4(self): 38 p1 = wx.Palette() 39 p2 = wx.Palette(p1) 40 41 42 def test_paletteCreate1(self): 43 p = wx.Palette() 44 with self.assertRaises(TypeError): # not sequences 45 p.Create(1, 2, 3) 46 with self.assertRaises(ValueError): # not the same length 47 p.Create((1, 2, 3), (1, 2, 3), (1, 2)) 48 with self.assertRaises(TypeError): # not integers 49 p.Create((1, 2, 3), ("1", "2", "3"), (1, 2, 3)) 50 with self.assertRaises(ValueError): # outside of 0..255 range 51 p.Create((257, 2, 3), (1, 2, 3), (1, 2, 3)) 52 with self.assertRaises(ValueError): # outside of 0..255 range 53 p.Create((1, 2, 3), (-1, 2, 3), (1, 2, 3)) 54 55 # range is okay, checking start and end 56 p.Create((1, 2, 3, 0), (1, 2, 3, 4), (1, 2, 3, 4)) 57 p.Create((1, 2, 3, 255), (1, 2, 3, 4), (1, 2, 3, 4)) 58 59 60 def test_paletteCreate2(self): 61 p = wx.Palette() 62 # 3 different kinds of sequences :) 63 self.assertTrue(p.Create((1, 2, 3), [4, 5, 6], bytearray([7, 8, 9]))) 64 self.assertTrue(p.GetRGB(1) == (2, 5, 8)) 65 66 67 def test_nullPalette(self): 68 wx.NullPalette 69 70#--------------------------------------------------------------------------- 71 72 73if __name__ == '__main__': 74 unittest.main() 75