2 // NetworkInterfaceTest.cs - NUnit Test Cases for System.Net.NetworkInformation.NetworkInterface
5 // Ben Woods (woodsb02@gmail.com)
12 using System.Net.Sockets;
13 using System.Net.NetworkInformation;
15 namespace MonoTests.System.Net.NetworkInformation
19 public class NetworkInterfaceTest
22 public void IsNetworkAvailable ()
24 Assert.IsTrue (NetworkInterface.GetIsNetworkAvailable ());
28 public void LoopbackInterfaceIndex ()
30 Assert.IsTrue (NetworkInterface.LoopbackInterfaceIndex > 0);
34 public void AtLeastOneInterface ()
36 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
37 Assert.IsTrue (adapters.Length > 0);
41 public void FirstInterfaceId ()
43 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
44 Assert.IsTrue (adapters[0].Id.Length > 0);
48 public void FirstInterfaceName ()
50 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
51 Assert.IsTrue (adapters[0].Name.Length > 0);
55 public void FirstInterfaceType ()
57 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
58 Assert.AreNotEqual (adapters[0].NetworkInterfaceType, NetworkInterfaceType.Unknown);
62 public void FirstInterfaceOperationalStatus ()
64 var adapter = NetworkInterface.GetAllNetworkInterfaces ()[0];
65 var status = adapter.OperationalStatus;
66 // lo status is Unknown on Linux
67 //Assert.AreNotEqual (adapter.OperationalStatus, OperationalStatus.Unknown);
71 public void FirstInterfaceSpeed ()
73 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
74 Assert.IsTrue (adapters[0].Speed > 0);
78 public void IPv4Mask ()
80 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
81 foreach (NetworkInterface adapter in adapters)
83 if (adapter.Supports (NetworkInterfaceComponent.IPv4))
85 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
86 foreach (UnicastIPAddressInformation uni in adapterProperties.UnicastAddresses)
88 if (uni.Address.AddressFamily == AddressFamily.InterNetwork)
90 Assert.IsNotNull (uni.IPv4Mask);