f3e3aab35a
Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
98 lines
2.4 KiB
C#
98 lines
2.4 KiB
C#
//
|
|
// NetworkInterfaceTest.cs - NUnit Test Cases for System.Net.NetworkInformation.NetworkInterface
|
|
//
|
|
// Authors:
|
|
// Ben Woods (woodsb02@gmail.com)
|
|
//
|
|
|
|
using NUnit.Framework;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Sockets;
|
|
using System.Net.NetworkInformation;
|
|
|
|
namespace MonoTests.System.Net.NetworkInformation
|
|
{
|
|
|
|
[TestFixture]
|
|
public class NetworkInterfaceTest
|
|
{
|
|
[Test]
|
|
public void IsNetworkAvailable ()
|
|
{
|
|
Assert.IsTrue (NetworkInterface.GetIsNetworkAvailable ());
|
|
}
|
|
|
|
[Test]
|
|
public void LoopbackInterfaceIndex ()
|
|
{
|
|
Assert.IsTrue (NetworkInterface.LoopbackInterfaceIndex > 0);
|
|
}
|
|
|
|
[Test]
|
|
public void AtLeastOneInterface ()
|
|
{
|
|
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
|
|
Assert.IsTrue (adapters.Length > 0);
|
|
}
|
|
|
|
[Test]
|
|
public void FirstInterfaceId ()
|
|
{
|
|
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
|
|
Assert.IsTrue (adapters[0].Id.Length > 0);
|
|
}
|
|
|
|
[Test]
|
|
public void FirstInterfaceName ()
|
|
{
|
|
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
|
|
Assert.IsTrue (adapters[0].Name.Length > 0);
|
|
}
|
|
|
|
[Test]
|
|
public void FirstInterfaceType ()
|
|
{
|
|
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
|
|
Assert.AreNotEqual (adapters[0].NetworkInterfaceType, NetworkInterfaceType.Unknown);
|
|
}
|
|
|
|
[Test]
|
|
public void FirstInterfaceOperationalStatus ()
|
|
{
|
|
var adapter = NetworkInterface.GetAllNetworkInterfaces ()[0];
|
|
var status = adapter.OperationalStatus;
|
|
// lo status is Unknown on Linux
|
|
//Assert.AreNotEqual (adapter.OperationalStatus, OperationalStatus.Unknown);
|
|
}
|
|
|
|
[Test]
|
|
public void FirstInterfaceSpeed ()
|
|
{
|
|
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
|
|
Assert.IsTrue (adapters[0].Speed > 0);
|
|
}
|
|
|
|
[Test]
|
|
public void IPv4Mask ()
|
|
{
|
|
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
|
|
foreach (NetworkInterface adapter in adapters)
|
|
{
|
|
if (adapter.Supports (NetworkInterfaceComponent.IPv4))
|
|
{
|
|
IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
|
|
foreach (UnicastIPAddressInformation uni in adapterProperties.UnicastAddresses)
|
|
{
|
|
if (uni.Address.AddressFamily == AddressFamily.InterNetwork)
|
|
{
|
|
Assert.IsNotNull (uni.IPv4Mask);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|