1
2from PyObjCTools.TestSupport import *
3from Quartz.CoreGraphics import *
4
5class TestCGDirectPalette (TestCase):
6    def testStructs(self):
7        v = CGDeviceByteColor()
8        self.assertTrue(hasattr(v, 'red'))
9        self.assertTrue(hasattr(v, 'green'))
10        self.assertTrue(hasattr(v, 'blue'))
11
12        v = CGDeviceColor()
13        self.assertTrue(hasattr(v, 'red'))
14        self.assertTrue(hasattr(v, 'green'))
15        self.assertTrue(hasattr(v, 'blue'))
16
17    def testTypes(self):
18        self.assertIsOpaquePointer(CGDirectPaletteRef)
19
20    def testFunctions(self):
21        self.assertResultIsCFRetained(CGPaletteCreateDefaultColorPalette)
22        v = CGPaletteCreateDefaultColorPalette()
23        self.assertIsInstance(v, CGDirectPaletteRef)
24
25        self.assertResultIsCFRetained(CGPaletteCreateWithDisplay)
26        v = CGPaletteCreateWithDisplay(CGMainDisplayID())
27        if v is not None:
28            self.assertIsInstance(v, CGDirectPaletteRef)
29
30        self.assertResultIsCFRetained(CGPaletteCreateWithCapacity)
31        v = CGPaletteCreateWithCapacity(128)
32        self.assertIsInstance(v, CGDirectPaletteRef)
33
34        self.assertResultIsCFRetained(CGPaletteCreateWithSamples)
35        v = CGPaletteCreateWithSamples([(0, 0, 0), (0.5, 0.5, 0.5), (1, 1, 1)], 3)
36        self.assertIsInstance(v, CGDirectPaletteRef)
37
38        self.assertResultIsCFRetained(CGPaletteCreateWithByteSamples)
39        v = CGPaletteCreateWithByteSamples([(0, 0, 0), (100, 100, 100), (255, 255, 255)], 3)
40        self.assertIsInstance(v, CGDirectPaletteRef)
41
42        CFRetain(v)
43        CGPaletteRelease(v)
44
45        palette = CGPaletteCreateDefaultColorPalette()
46        v = CGPaletteGetColorAtIndex(palette, 0)
47        self.assertIsInstance(palette, CGDirectPaletteRef)
48
49        v = CGPaletteGetIndexForColor(palette, v)
50        self.assertIsInstance(v, (int, long))
51
52        v = CGPaletteGetNumberOfSamples(palette)
53        self.assertIsInstance(v, (int, long))
54
55        CGPaletteSetColorAtIndex(palette, (0.5, 0.5, 0.5), 0)
56
57        self.assertResultIsCFRetained(CGPaletteCreateCopy)
58        v = CGPaletteCreateCopy(palette)
59        self.assertIsInstance(v, CGDirectPaletteRef)
60
61        self.assertResultHasType(CGPaletteIsEqualToPalette, objc._C_BOOL)
62        v = CGPaletteIsEqualToPalette(palette, v)
63        self.assertTrue(v is True)
64
65        self.assertResultIsCFRetained(CGPaletteCreateFromPaletteBlendedWithColor)
66        v = CGPaletteCreateFromPaletteBlendedWithColor(palette,
67                0.5, (0.3, 0.7, 0.1))
68        self.assertIsInstance(v, CGDirectPaletteRef)
69
70
71if __name__ == "__main__":
72    main()
73