Beispiel #1
0
        /// <summary>
        /// Creates an IConnectionStatusProvider moq object.
        /// Sets up the object to moq the in use 3rd party.
        /// </summary>
        /// <param name="networkAccess">Current network access.</param>
        /// <returns>An IConnectionStatusProvider moq object.</returns>
        public static Mock <IConnectivityWrapper> CreateConnectionStatusProvider(NetworkAccessType networkAccess)
        {
            var mockConnectionStatus = new Mock <IConnectivityWrapper>();

            mockConnectionStatus.Setup(c => c.TypeOfAccess()).Returns(networkAccess);

            return(mockConnectionStatus);
        }
Beispiel #2
0
        /// <summary>
        /// Creates a ConnectionStatusProvider with a mock ConnectivityWrapper.
        /// </summary>
        /// <param name="networkAccess">Current Network Access.</param>
        /// <returns>A ConnectionStatusProvider.</returns>
        public static ConnectionStatusProvider GetConnectionStatusProvider(NetworkAccessType networkAccess)
        {
            // Create mock connectivity wrapper, we are not testing 3rd party code so we can mock it out.
            var connectivityWrapper = Helpers.MockFactory.CreateConnectionStatusProvider(networkAccess);

            // Create connectivity provider passing our mock connectivity wrapper
            var connectionStatusProvider = new ConnectionStatusProvider(connectivityWrapper.Object);

            return(connectionStatusProvider);
        }
        /// <summary>
        /// Updates the apps connectivity based on NetworkAccess.
        /// </summary>
        /// <param name="connectivityType">Current connectivity type.</param>
        /// <exception cref="ArgumentOutOfRangeException">Argument is not valid.</exception>
        private void UpdateConnectivity(NetworkAccessType connectivityType)
        {
            switch (connectivityType)
            {
            case NetworkAccessType.Unknown:
            case NetworkAccessType.None:
                this.IsConnected = false;
                break;

            case NetworkAccessType.Local:
            case NetworkAccessType.Internet:
            case NetworkAccessType.ConstrainedInternet:
                this.IsConnected = true;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(connectivityType), connectivityType, null);
            }
        }