public void EnumeratesTheConnectionCorrectly() { var enumConnections = new Mock <IRasEnumConnections>(); enumConnections.Setup(o => o.EnumerateConnections()).Returns(new RasConnection[0]); container.Setup(o => o.GetService(typeof(IRasEnumConnections))).Returns(enumConnections.Object); var result = RasConnection.EnumerateConnections(); Assert.IsNotNull(result); container.Verify(o => o.GetService(typeof(IRasEnumConnections)), Times.Once); enumConnections.Verify(o => o.EnumerateConnections(), Times.Once); }
private void UpdateTrayIcon() { var connections = RasConnection.EnumerateConnections().ToList(); if (connections.Count != 0) { _trayIcon.Text = $"Connected to: {string.Join(", ", connections.Select(x => x.EntryName))}"; _trayIcon.Icon = _onIcon; } else { _trayIcon.Text = "Not connected"; _trayIcon.Icon = _offIcon; } var strip = _trayIcon.ContextMenuStrip; strip.Items.Clear(); foreach (var profile in GetProfiles()) { var connection = connections.FirstOrDefault(x => x.EntryName.Equals(profile)); strip.Items.Add( profile, connection != null ? _checkIcon : null, (s, e) => { if (connection != null) { connection.Disconnect(new CancellationToken()); } else { var dialer = new RasDialer { EntryName = profile }; dialer.Connect(); } }); } strip.Items.Add(new ToolStripSeparator()); strip.Items.Add("Exit", null, OnExit); }
private async Task ConnectAsync(CancellationToken cancellationToken) { if (IsConnected) { return; } connection = RasConnection.EnumerateConnections().SingleOrDefault(o => o.EntryName == dialer.EntryName); if (connection != null) { Console.WriteLine($"Already connected: {dialer.EntryName}"); SetConnected(); } else { Console.WriteLine("Starting connection..."); connection = await dialer.ConnectAsync(cancellationToken); } }
public void WillReturnTheCorrectConnectionWhenUsingLinq() { var connection1 = new Mock <RasConnection>(); connection1.Setup(o => o.EntryName).Returns("Test1"); var connection2 = new Mock <RasConnection>(); connection2.Setup(o => o.EntryName).Returns("Test2"); var enumConnections = new Mock <IRasEnumConnections>(); enumConnections.Setup(o => o.EnumerateConnections()).Returns(new[] { connection1.Object, connection2.Object }); container.Setup(o => o.GetService(typeof(IRasEnumConnections))).Returns(enumConnections.Object); var result = RasConnection.EnumerateConnections().SingleOrDefault(o => o.EntryName == "Test2"); Assert.IsNotNull(result); Assert.AreSame(connection2.Object, result); }