AI 145956: am: CL 145675 CTS: fixed the fail bug in android.net.cts.NetworkInfoTest
  Original author: sus
  Merged from: //branches/cupcake/...

Automated import of CL 145956
diff --git a/tests/cts/net/src/android/net/cts/NetworkInfoTest.java b/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
index 46da3ca..62a5f3f 100644
--- a/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2009 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,72 +16,68 @@
 
 package android.net.cts;
 
-import dalvik.annotation.ToBeFixed;
-
 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.NetworkInfo.DetailedState;
 import android.net.NetworkInfo.State;
-import android.os.Parcel;
 import android.test.AndroidTestCase;
-import dalvik.annotation.TestTargets;
-import dalvik.annotation.TestStatus;
-import dalvik.annotation.TestTargetNew;
 import dalvik.annotation.TestLevel;
 import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestTargets;
 
 @TestTargetClass(NetworkInfo.class)
 public class NetworkInfoTest extends AndroidTestCase {
-    ConnectivityManager mConnectivityManager;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mConnectivityManager = (ConnectivityManager) mContext
-                .getSystemService(Context.CONNECTIVITY_SERVICE);
+    public static final int TYPE_MOBILE = ConnectivityManager.TYPE_MOBILE;
+    public static final int TYPE_WIFI = ConnectivityManager.TYPE_WIFI;
+    public static final String MOBILE_TYPE_NAME = "MOBILE";
+    public static final String WIFI_TYPE_NAME = "WIFI";
+
+    @TestTargetNew(
+        level = TestLevel.COMPLETE,
+        notes = "Test constructor(s) of NetworkInfo.",
+        method = "NetworkInfo",
+        args = {int.class}
+    )
+    public void testConstructor() {
+        new NetworkInfo(ConnectivityManager.TYPE_MOBILE);
     }
 
     @TestTargets({
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "isConnectedOrConnecting",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "setFailover",
             args = {boolean.class}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "isFailover",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "getType",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "getTypeName",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "setIsAvailable",
             args = {boolean.class}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "isAvailable",
             args = {}
         ),
@@ -93,88 +89,69 @@
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
-            method = "describeContents",
-            args = {}
-        ),
-        @TestTargetNew(
-            level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "getDetailedState",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "getState",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "getReason",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "getExtraInfo",
             args = {}
         ),
         @TestTargetNew(
             level = TestLevel.COMPLETE,
-            notes = "Test isConnectedOrConnecting().",
             method = "toString",
             args = {}
         )
     })
     public void testAccessNetworkInfoProperties() {
-        NetworkInfo[] ni = mConnectivityManager.getAllNetworkInfo();
+        ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(
+                Context.CONNECTIVITY_SERVICE);
+
+        NetworkInfo[] ni = cm.getAllNetworkInfo();
         assertTrue(ni.length >= 2);
-        assertFalse(ni[ConnectivityManager.TYPE_MOBILE].isFailover());
-        assertFalse(ni[ConnectivityManager.TYPE_WIFI].isFailover());
+
+        assertFalse(ni[TYPE_MOBILE].isFailover());
+        assertFalse(ni[TYPE_WIFI].isFailover());
 
         // test environment:connect as TYPE_MOBILE, and connect to internet.
-        assertEquals(ni[ConnectivityManager.TYPE_MOBILE].getType(),
-                ConnectivityManager.TYPE_MOBILE);
-        assertEquals(ni[ConnectivityManager.TYPE_WIFI].getType(), ConnectivityManager.TYPE_WIFI);
-        assertEquals("MOBILE", ni[ConnectivityManager.TYPE_MOBILE].getTypeName());
-        assertEquals("WIFI", ni[ConnectivityManager.TYPE_WIFI].getTypeName());
-        assertTrue(ni[ConnectivityManager.TYPE_MOBILE].isConnectedOrConnecting());
-        assertFalse(ni[ConnectivityManager.TYPE_WIFI].isConnectedOrConnecting());
-        assertTrue(ni[ConnectivityManager.TYPE_MOBILE].isAvailable());
-        assertFalse(ni[ConnectivityManager.TYPE_WIFI].isAvailable());
-        assertTrue(ni[ConnectivityManager.TYPE_MOBILE].isConnected());
-        assertFalse(ni[ConnectivityManager.TYPE_WIFI].isConnected());
+        assertEquals(ni[TYPE_MOBILE].getType(), TYPE_MOBILE);
+        assertEquals(ni[TYPE_WIFI].getType(), TYPE_WIFI);
 
-        assertEquals(ni[ConnectivityManager.TYPE_MOBILE].describeContents(), 0);
-        assertEquals(ni[ConnectivityManager.TYPE_WIFI].describeContents(), 0);
+        assertEquals(MOBILE_TYPE_NAME, ni[TYPE_MOBILE].getTypeName());
+        assertEquals(WIFI_TYPE_NAME, ni[TYPE_WIFI].getTypeName());
 
-        assertEquals(ni[ConnectivityManager.TYPE_MOBILE].getState(), State.CONNECTED);
-        assertEquals(ni[ConnectivityManager.TYPE_MOBILE].getDetailedState(),
-                DetailedState.CONNECTED);
+        assertTrue(ni[TYPE_MOBILE].isConnectedOrConnecting());
+        assertFalse(ni[TYPE_WIFI].isConnectedOrConnecting());
 
-        assertNull(ni[ConnectivityManager.TYPE_MOBILE].getReason());
-        assertNull(ni[ConnectivityManager.TYPE_WIFI].getReason());
-        assertEquals("internet", ni[ConnectivityManager.TYPE_MOBILE].getExtraInfo());
-        assertNull(ni[ConnectivityManager.TYPE_WIFI].getExtraInfo());
+        assertTrue(ni[TYPE_MOBILE].isAvailable());
+        assertFalse(ni[TYPE_WIFI].isAvailable());
 
-        assertNotNull(ni[ConnectivityManager.TYPE_MOBILE].toString());
-        assertNotNull(ni[ConnectivityManager.TYPE_WIFI].toString());
-    }
+        assertTrue(ni[TYPE_MOBILE].isConnected());
+        assertFalse(ni[TYPE_WIFI].isConnected());
 
-    @TestTargetNew(
-        level = TestLevel.COMPLETE,
-        notes = "Test writeToParcel(Parcel dest, int flags).",
-        method = "writeToParcel",
-        args = {android.os.Parcel.class, java.lang.Integer.class}
-    )
-    //@ToBeFixed(bug = "1703933", explanation = "Cannot test if the data was written correctly,"
-    public void testWriteToParcel() {
-        NetworkInfo[] networkInfos = mConnectivityManager.getAllNetworkInfo();
-        NetworkInfo mobileInfo = networkInfos[ConnectivityManager.TYPE_MOBILE];
-        Parcel p = Parcel.obtain();
+        assertEquals(State.CONNECTED, ni[TYPE_MOBILE].getState());
+        assertEquals(State.UNKNOWN, ni[TYPE_WIFI].getState());
 
-        mobileInfo.writeToParcel(p, 1);
+        assertEquals(DetailedState.CONNECTED, ni[TYPE_MOBILE].getDetailedState());
+        assertEquals(DetailedState.IDLE, ni[TYPE_WIFI].getDetailedState());
+
+        assertNotNull(ni[TYPE_MOBILE].getReason());
+        assertNull(ni[TYPE_WIFI].getReason());
+
+        assertNotNull(ni[TYPE_MOBILE].getExtraInfo());
+        assertNull(ni[TYPE_WIFI].getExtraInfo());
+
+        assertNotNull(ni[TYPE_MOBILE].toString());
+        assertNotNull(ni[TYPE_WIFI].toString());
     }
 }