@Test @Config(minSdk = LOLLIPOP) public void getNetworkCallbacks_shouldHaveEmptyDefault() throws Exception { assertThat(shadowOf(connectivityManager).getNetworkCallbacks()).isEmpty(); }
@Test @Config(minSdk = N) public void registerDefaultCallback_shouldAddCallback() throws Exception { ConnectivityManager.NetworkCallback callback = createSimpleCallback(); connectivityManager.registerDefaultNetworkCallback(callback); assertThat(shadowOf(connectivityManager).getNetworkCallbacks()).hasSize(1); }
@Test @Config(minSdk = LOLLIPOP) public void registerCallback_shouldAddCallback() throws Exception { NetworkRequest.Builder builder = new NetworkRequest.Builder(); ConnectivityManager.NetworkCallback callback = createSimpleCallback(); connectivityManager.registerNetworkCallback(builder.build(), callback); assertThat(shadowOf(connectivityManager).getNetworkCallbacks()).hasSize(1); }
@Test @Config(minSdk = LOLLIPOP) public void requestNetwork_shouldAddCallback() throws Exception { NetworkRequest.Builder builder = new NetworkRequest.Builder(); ConnectivityManager.NetworkCallback callback = createSimpleCallback(); connectivityManager.requestNetwork(builder.build(), callback); assertThat(shadowOf(connectivityManager).getNetworkCallbacks()).hasSize(1); }
@Test @Config(minSdk = LOLLIPOP) public void unregisterCallback_shouldRemoveCallbacks() throws Exception { NetworkRequest.Builder builder = new NetworkRequest.Builder(); // Add two different callbacks. ConnectivityManager.NetworkCallback callback1 = createSimpleCallback(); ConnectivityManager.NetworkCallback callback2 = createSimpleCallback(); connectivityManager.registerNetworkCallback(builder.build(), callback1); connectivityManager.registerNetworkCallback(builder.build(), callback2); // Remove one at the time. assertThat(shadowOf(connectivityManager).getNetworkCallbacks()).hasSize(2); connectivityManager.unregisterNetworkCallback(callback2); assertThat(shadowOf(connectivityManager).getNetworkCallbacks()).hasSize(1); connectivityManager.unregisterNetworkCallback(callback1); assertThat(shadowOf(connectivityManager).getNetworkCallbacks()).isEmpty(); }