1from PyObjCTools.TestSupport import *
2import sys
3
4from Foundation import *
5import Foundation
6
7class TestNSByteOrder (TestCase):
8    def testConstants(self):
9        self.assertEquals(NS_UnknownByteOrder, CFByteOrderUnknown)
10        self.assertEquals(NS_LittleEndian, CFByteOrderLittleEndian)
11        self.assertEquals(NS_BigEndian, CFByteOrderBigEndian)
12
13    def testInlines(self):
14        self.assertEquals(NSHostByteOrder(), CFByteOrderGetCurrent())
15        self.assertEquals(NSSwapShort(350), CFSwapInt16(350))
16        self.assertEquals(NSSwapInt(350), CFSwapInt32(350))
17
18        if sys.maxint > 2 ** 32:
19            self.assertEquals(NSSwapLong(350), CFSwapInt64(350))
20            self.assertEquals(NSSwapBigLongToHost(350), CFSwapInt64BigToHost(350))
21            self.assertEquals(NSSwapHostLongToBig(350), CFSwapInt64HostToBig(350))
22            self.assertEquals(NSSwapLittleLongToHost(350), CFSwapInt64LittleToHost(350))
23            self.assertEquals(NSSwapHostLongToLittle(350), CFSwapInt64HostToLittle(350))
24        else:
25            self.assertEquals(NSSwapLong(350), CFSwapInt32(350))
26            self.assertEquals(NSSwapBigLongToHost(350), CFSwapInt32BigToHost(350))
27            self.assertEquals(NSSwapHostLongToBig(350), CFSwapInt32HostToBig(350))
28            self.assertEquals(NSSwapLittleLongToHost(350), CFSwapInt32LittleToHost(350))
29            self.assertEquals(NSSwapHostLongToLittle(350), CFSwapInt32HostToLittle(350))
30
31
32        self.assertEquals(NSSwapLongLong(350), CFSwapInt64(350))
33        self.assertEquals(NSSwapBigShortToHost(350), CFSwapInt16BigToHost(350))
34        self.assertEquals(NSSwapBigIntToHost(350), CFSwapInt32BigToHost(350))
35        self.assertEquals(NSSwapBigLongLongToHost(350), CFSwapInt64BigToHost(350))
36        self.assertEquals(NSSwapHostShortToBig(350), CFSwapInt16HostToBig(350))
37        self.assertEquals(NSSwapHostIntToBig(350), CFSwapInt32HostToBig(350))
38        self.assertEquals(NSSwapHostLongLongToBig(350), CFSwapInt64HostToBig(350))
39        self.assertEquals(NSSwapLittleShortToHost(350), CFSwapInt16LittleToHost(350))
40        self.assertEquals(NSSwapLittleIntToHost(350), CFSwapInt32LittleToHost(350))
41        self.assertEquals(NSSwapLittleLongLongToHost(350), CFSwapInt64LittleToHost(350))
42        self.assertEquals(NSSwapHostShortToLittle(350), CFSwapInt16HostToLittle(350))
43        self.assertEquals(NSSwapHostIntToLittle(350), CFSwapInt32HostToLittle(350))
44        self.assertEquals(NSSwapHostLongLongToLittle(350), CFSwapInt64HostToLittle(350))
45
46        v = NSConvertHostFloatToSwapped(55.0)
47        self.failUnless(isinstance(v, NSSwappedFloat))
48
49        n = NSConvertSwappedFloatToHost(v)
50        self.assertEquals(n, 55.0)
51
52        v = NSSwapFloat(v)
53        self.failUnless(isinstance(v, NSSwappedFloat))
54
55
56        v = NSConvertHostDoubleToSwapped(55.0)
57        self.failUnless(isinstance(v, NSSwappedDouble))
58
59
60        n = NSConvertSwappedDoubleToHost(v)
61        self.assertEquals(n, 55.0)
62
63        v = NSSwapDouble(v)
64        self.failUnless(isinstance(v, NSSwappedDouble))
65
66
67        n = NSSwapBigDoubleToHost(v)
68        self.failUnless(isinstance(n, float))
69
70        n = NSSwapLittleDoubleToHost(v)
71        self.failUnless(isinstance(n, float))
72
73
74        v = NSConvertHostFloatToSwapped(55.0)
75        n = NSSwapBigFloatToHost(v)
76        self.failUnless(isinstance(n, float))
77
78        n = NSSwapLittleFloatToHost(v)
79        self.failUnless(isinstance(n, float))
80
81        v = NSSwapHostDoubleToBig(55.0)
82        self.failUnless(isinstance(v, NSSwappedDouble))
83
84        v = NSSwapHostDoubleToLittle(55.0)
85        self.failUnless(isinstance(v, NSSwappedDouble))
86
87        v = NSSwapHostFloatToBig(55.0)
88        self.failUnless(isinstance(v, NSSwappedFloat))
89
90        v = NSSwapHostFloatToLittle(55.0)
91        self.failUnless(isinstance(v, NSSwappedFloat))
92
93
94
95if __name__ == "__main__":
96    main()
97