106b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi/* 206b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * Copyright (C) 2017 The Android Open Source Project 306b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * 406b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * Licensed under the Apache License, Version 2.0 (the "License"); 506b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * you may not use this file except in compliance with the License. 606b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * You may obtain a copy of the License at 706b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * 806b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * http://www.apache.org/licenses/LICENSE-2.0 906b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * 1006b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * Unless required by applicable law or agreed to in writing, software 1106b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * distributed under the License is distributed on an "AS IS" BASIS, 1206b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1306b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * See the License for the specific language governing permissions and 1406b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * limitations under the License. 1506b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi */ 1606b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 1706b1f2b1737a63967bef19801d7f013812dba70fHugo Benichipackage android.net.ip; 1806b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 1906b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport static org.junit.Assert.assertEquals; 2006b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport static org.junit.Assert.fail; 2184714bffa1a58fe1f6a114ae015f8e38be46f32dErik Klineimport static org.mockito.Mockito.anyString; 2284714bffa1a58fe1f6a114ae015f8e38be46f32dErik Klineimport static org.mockito.Mockito.when; 2306b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 248bd00d5f7ced34a45173e45537dc3100d62ee6a5Erik Klineimport android.net.util.InterfaceParams; 2506b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport android.net.util.SharedLog; 2684714bffa1a58fe1f6a114ae015f8e38be46f32dErik Klineimport android.os.Handler; 2784714bffa1a58fe1f6a114ae015f8e38be46f32dErik Klineimport android.os.Looper; 2806b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport android.support.test.filters.SmallTest; 2906b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport android.support.test.runner.AndroidJUnit4; 3006b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 3106b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport org.junit.Before; 3206b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport org.junit.Test; 3306b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport org.junit.runner.RunWith; 3406b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport org.mockito.Mock; 3506b1f2b1737a63967bef19801d7f013812dba70fHugo Benichiimport org.mockito.MockitoAnnotations; 3606b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 3706b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 3806b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi/** 3906b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi * Tests for IpReachabilityMonitor. 4006b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi */ 4106b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi@RunWith(AndroidJUnit4.class) 4206b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi@SmallTest 4306b1f2b1737a63967bef19801d7f013812dba70fHugo Benichipublic class IpReachabilityMonitorTest { 4406b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 4506b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi @Mock IpReachabilityMonitor.Callback mCallback; 4606b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi @Mock IpReachabilityMonitor.Dependencies mDependencies; 4706b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi @Mock SharedLog mLog; 4884714bffa1a58fe1f6a114ae015f8e38be46f32dErik Kline Handler mHandler; 4906b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 5006b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi @Before 5106b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi public void setUp() { 5206b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi MockitoAnnotations.initMocks(this); 5384714bffa1a58fe1f6a114ae015f8e38be46f32dErik Kline when(mLog.forSubComponent(anyString())).thenReturn(mLog); 5484714bffa1a58fe1f6a114ae015f8e38be46f32dErik Kline mHandler = new Handler(Looper.getMainLooper()); 5506b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi } 5606b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 5706b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi IpReachabilityMonitor makeMonitor() { 588bd00d5f7ced34a45173e45537dc3100d62ee6a5Erik Kline final InterfaceParams ifParams = new InterfaceParams("fake0", 1, null); 598bd00d5f7ced34a45173e45537dc3100d62ee6a5Erik Kline return new IpReachabilityMonitor(ifParams, mHandler, mLog, mCallback, null, mDependencies); 6006b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi } 6106b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi 6206b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi @Test 6306b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi public void testNothing() { 6406b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi IpReachabilityMonitor monitor = makeMonitor(); 6506b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi } 6606b1f2b1737a63967bef19801d7f013812dba70fHugo Benichi} 67