• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2006 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.location;
18 
19 import android.content.Context;
20 import android.location.Criteria;
21 import android.location.Location;
22 import android.location.LocationManager;
23 import android.location.LocationProvider;
24 import android.test.AndroidTestCase;
25 import android.test.suitebuilder.annotation.Suppress;
26 import android.util.Log;
27 
28 @Suppress
29 public class LocationManagerTest extends AndroidTestCase {
30     private static final String LOG_TAG = "LocationManagerTest";
31 
32     private LocationManager manager;
33 
34     @Override
setUp()35     public void setUp() throws Exception {
36         super.setUp();
37         manager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
38         assertNotNull(manager);
39     }
40 
testGetBogusProvider()41     public void testGetBogusProvider() {
42         LocationProvider p = manager.getProvider("bogus");
43         assertNull(p);
44     }
45 
testGetNetworkProvider()46     public void testGetNetworkProvider() {
47         LocationProvider p = manager.getProvider("network");
48         assertNotNull(p);
49     }
50 
testGetGpsProvider()51     public void testGetGpsProvider() {
52         LocationProvider p = manager.getProvider("gps");
53         assertNotNull(p);
54     }
55 
testGetBestProviderEmptyCriteria()56     public void testGetBestProviderEmptyCriteria() {
57         String p = manager.getBestProvider(new Criteria(), true);
58         assertNotNull(p);
59     }
60 
testGetBestProviderPowerCriteria()61     public void testGetBestProviderPowerCriteria() {
62         Criteria c = new Criteria();
63         c.setPowerRequirement(Criteria.POWER_HIGH);
64         String p = manager.getBestProvider(c, true);
65         assertNotNull(p);
66 
67         c.setPowerRequirement(Criteria.POWER_MEDIUM);
68         p = manager.getBestProvider(c, true);
69         assertNotNull(p);
70 
71         c.setPowerRequirement(Criteria.POWER_LOW);
72         p = manager.getBestProvider(c, true);
73         assertNotNull(p);
74 
75         c.setPowerRequirement(Criteria.NO_REQUIREMENT);
76         p = manager.getBestProvider(c, true);
77         assertNotNull(p);
78     }
79 
testGpsTracklog()80     public void testGpsTracklog() {
81         LocationProvider p = manager.getProvider("gps");
82         assertNotNull(p);
83 
84         // TODO: test requestUpdates method
85     }
86 
testLocationConversions()87     public void testLocationConversions() {
88         String loc1 = Location.convert(-80.075, Location.FORMAT_DEGREES);
89         Log.i(LOG_TAG, "Input = " + (-80.075) + ", output = " + loc1);
90         assertEquals("-80.075", loc1);
91 
92         String loc1b = Location.convert(-80.0, Location.FORMAT_DEGREES);
93         Log.i(LOG_TAG, "Input = " + (-80.0) + ", output = " + loc1b);
94         assertEquals("-80", loc1b);
95 
96         String loc2 = Location.convert(-80.085, Location.FORMAT_DEGREES);
97         Log.i(LOG_TAG, "Input = " + (-80.085) + ", output = " + loc2);
98         assertEquals("-80.085", loc2);
99 
100         String loc3 = Location.convert(-80.085, Location.FORMAT_MINUTES);
101         Log.i(LOG_TAG, "Input = " + (-80.085) + ", output = " + loc3);
102         assertEquals("-80:5.1", loc3);
103 
104         String loc4 = Location.convert(-80.085, Location.FORMAT_SECONDS);
105         Log.i(LOG_TAG, "Input = " + (-80.085) + ", output = " + loc4);
106         assertEquals("-80:5:6", loc4);
107 
108         String loc5 = Location.convert(5 + 0.5f / 60.0f, Location.FORMAT_MINUTES);
109         Log.i(LOG_TAG, "Input = 5:0.5, output = " + loc5);
110         int index = loc5.indexOf(':');
111         String loc5a = loc5.substring(0, index);
112         Log.i(LOG_TAG, "loc5a = " + loc5a);
113         assertTrue(loc5a.equals("5"));
114         String loc5b = loc5.substring(index + 1);
115         Log.i(LOG_TAG, "loc5b = " + loc5b);
116         double minutes = Double.parseDouble(loc5b);
117         Log.i(LOG_TAG, "minutes = " + minutes);
118         assertTrue(Math.abs(minutes - 0.5) < 0.0001);
119 
120         String loc6 = Location.convert(0.1, Location.FORMAT_DEGREES);
121         Log.i(LOG_TAG, "loc6 = " + loc6);
122         assertEquals(loc6, "0.1");
123 
124         String loc7 = Location.convert(0.1, Location.FORMAT_MINUTES);
125         Log.i(LOG_TAG, "loc7 = " + loc7);
126         assertEquals(loc7, "0:6");
127 
128         String loc8 = Location.convert(0.1, Location.FORMAT_SECONDS);
129         Log.i(LOG_TAG, "loc8 = " + loc8);
130         assertEquals(loc8, "0:6:0");
131     }
132 }
133