[System] UriKind.RelativeOrAbsolute workaround.
[mono.git] / mcs / class / System / Test / System.Net.NetworkInformation / IPInterfacePropertiesTest.cs
1 //
2 // IPInterfacePropertiesTest.cs - NUnit Test Cases for System.Net.NetworkInformation.IPInterfaceProperties
3 //
4 // Authors:
5 //   Ben Woods (woodsb02@gmail.com)
6 //
7
8 using NUnit.Framework;
9 using System;
10 using System.Net;
11 using System.Net.NetworkInformation;
12
13 namespace MonoTests.System.Net.NetworkInformation
14 {
15
16         [TestFixture]
17         public class IPInterfacePropertiesTest
18         {
19                 [Test]
20                 public void AtLeastOneUnicastAddress ()
21                 {
22                         int numUnicastAddresses = 0;
23                         NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
24                         foreach (NetworkInterface adapter in adapters)
25                         {
26                                 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
27                                 UnicastIPAddressInformationCollection unicastAddresses = adapterProperties.UnicastAddresses;
28                                 numUnicastAddresses += unicastAddresses.Count;
29                         }
30                         Assert.IsTrue (numUnicastAddresses > 0);
31                 }
32         
33                 [Test]
34                 public void AtLeastOneGatewayAddress ()
35                 {
36                         int numGatewayAddresses = 0;
37                         NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
38                         foreach (NetworkInterface adapter in adapters)
39                         {
40                                 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
41                                 GatewayIPAddressInformationCollection gatewayAddresses = adapterProperties.GatewayAddresses;
42                                 numGatewayAddresses += gatewayAddresses.Count;
43                         }
44                         Assert.IsTrue (numGatewayAddresses > 0);
45                 }
46         
47                 [Test]
48                 public void DnsEnabled ()
49                 {
50                         NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
51                         foreach (NetworkInterface adapter in adapters)
52                         {
53                                 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
54                                 Assert.IsTrue (adapterProperties.IsDnsEnabled);
55                         }
56                 }
57         
58                 [Test]
59                 public void AtLeastOneDnsAddress ()
60                 {
61                         int numDnsAddresses = 0;
62                         NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ();
63                         foreach (NetworkInterface adapter in adapters)
64                         {
65                                 IPInterfaceProperties adapterProperties = adapter.GetIPProperties ();
66                                 IPAddressCollection dnsAddresses = adapterProperties.DnsAddresses;
67                                 numDnsAddresses += dnsAddresses.Count;
68                         }
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
71 #if !MONOTOUCH
72                         Assert.IsTrue (numDnsAddresses > 0);
73 #endif
74                 }
75         
76         }
77 }