/// <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); }
/// <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); } }