public void TestIsInternetAvailable(NetworkConnectivityLevel networkConnectivity)
        {
            // Setup any objects and mocks.
            var           mockConnectionProfile  = new Mock <IKConnectionProfile>();
            var           mockNetworkInformation = new Mock <IKNetworkInformation>();
            NetworkStatus networkStatus          = new NetworkStatus(mockNetworkInformation.Object);

            mockConnectionProfile
            .Setup(obj => obj.GetNetworkConnectivityLevel())
            .Returns(networkConnectivity);
            mockNetworkInformation
            .Setup(obj => obj.GetInternetConnectionProfile())
            .Returns(mockConnectionProfile.Object);

            // Call the method under test.
            bool available = networkStatus.IsInternetAvailable();
            bool expected  = networkConnectivity == NetworkConnectivityLevel.InternetAccess;

            // Verify the results produced.
            Assert.AreEqual(
                expected, available,
                "Function is not reporting the correct status");
        }