1
2from PyObjCTools.TestSupport import *
3from CoreLocation import *
4
5class TestCLLocation (TestCase):
6
7    @min_os_level('10.6')
8    def testTypes(self):
9        v = CLLocationCoordinate2D()
10        self.assertIsInstance(v.latitude, float)
11        self.assertIsInstance(v.longitude, float)
12        self.assertEqual(CLLocationCoordinate2D.__typestr__,
13                b'{_CLLocationCoordinate2D=dd}')
14
15
16    @min_os_level('10.6')
17    def testConstants(self):
18        self.assertIsInstance(kCLDistanceFilterNone, float)
19
20        self.assertIsInstance(kCLLocationAccuracyBest, float)
21        self.assertIsInstance(kCLLocationAccuracyNearestTenMeters, float)
22        self.assertIsInstance(kCLLocationAccuracyHundredMeters, float)
23        self.assertIsInstance(kCLLocationAccuracyKilometer, float)
24        self.assertIsInstance(kCLLocationAccuracyThreeKilometers, float)
25
26    @min_os_level('10.7')
27    def testConstants10_7(self):
28        self.assertIsInstance(kCLLocationAccuracyBestForNavigation, float)
29        self.assertIsInstance(kCLLocationCoordinate2DInvalid, CLLocationCoordinate2D)
30
31    @min_os_level('10.6')
32    def testMethods(self):
33        self.assertResultHasType(CLLocation.coordinate, CLLocationCoordinate2D.__typestr__)
34        #self.assertArgHasType(CLLocation.setCoordinate_, 0, CLLocationCoordinate2D.__typestr__)
35
36        self.assertArgHasType(CLLocation.initWithCoordinate_altitude_horizontalAccuracy_verticalAccuracy_timestamp_, 0,
37                CLLocationCoordinate2D.__typestr__)
38
39    @min_os_level('10.7')
40    def testFunctions10_7(self):
41        self.assertResultIsBOOL(CLLocationCoordinate2DIsValid)
42        self.assertFalse(CLLocationCoordinate2DIsValid(kCLLocationCoordinate2DInvalid))
43
44        loc = CLLocationCoordinate2DMake(0.0, 0.0)
45        self.assertIsInstance(loc, CLLocationCoordinate2D)
46
47        self.assertTrue(CLLocationCoordinate2DIsValid(loc))
48
49if __name__ == "__main__":
50    main()
51