2 // IPInterfacePropertiesTest.cs - NUnit Test Cases for System.Net.NetworkInformation.IPInterfaceProperties
5 // Ben Woods (woodsb02@gmail.com)
11 using System.Net.NetworkInformation;
13 namespace MonoTests.System.Net.NetworkInformation
17 public class IPInterfacePropertiesTest
20 public void AtLeastOneUnicastAddress ()
22 int numUnicastAddresses = 0;
23 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
24 foreach (NetworkInterface adapter in adapters)
26 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
27 UnicastIPAddressInformationCollection unicastAddresses = adapterProperties.UnicastAddresses;
28 numUnicastAddresses += unicastAddresses.Count;
30 Assert.IsTrue (numUnicastAddresses > 0);
34 public void AtLeastOneGatewayAddress ()
36 int numGatewayAddresses = 0;
37 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
38 foreach (NetworkInterface adapter in adapters)
40 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
41 GatewayIPAddressInformationCollection gatewayAddresses = adapterProperties.GatewayAddresses;
42 numGatewayAddresses += gatewayAddresses.Count;
44 Assert.IsTrue (numGatewayAddresses > 0);
48 public void DnsEnabled ()
50 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
51 foreach (NetworkInterface adapter in adapters)
53 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
54 Assert.IsTrue (adapterProperties.IsDnsEnabled);
59 public void AtLeastOneDnsAddress ()
61 int numDnsAddresses = 0;
62 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
63 foreach (NetworkInterface adapter in adapters)
65 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
66 IPAddressCollection dnsAddresses = adapterProperties.DnsAddresses;
67 numDnsAddresses += dnsAddresses.Count;
69 // reading /etc/resolve.conf does not work on iOS devices (but works on simulator)
70 // ref: https://bugzilla.xamarin.com/show_bug.cgi?id=27707
72 Assert.IsTrue (numDnsAddresses > 0);