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