2 // IPEndPointTest.cs - NUnit Test Cases for System.Net.IPEndPoint
5 // Lawrence Pit (loz@cable.a2000.nl)
6 // Martin Willemoes Hansen (mwh@sysrq.dk)
8 // (C) 2003 Martin Willemoes Hansen
11 using NUnit.Framework;
14 using System.Runtime.InteropServices;
16 namespace MonoTests.System.Net
20 public class IPEndPointTest
22 private const int MyPort = 42;
23 private const int MyMaxPort = 65535;
24 private const int MyMinPort = 0;
25 private const string MyIPAddressString = "192.168.1.1";
27 private IPAddress ipAddress;
29 private IPEndPoint endPoint1;
30 private IPEndPoint endPoint2;
33 public void GetReady()
35 ipAddress = IPAddress.Parse (MyIPAddressString);
36 ip = ipAddress.Address;
37 endPoint1 = new IPEndPoint (ipAddress, MyPort);
38 endPoint2 = new IPEndPoint (ip, MyPort);
42 public void PublicFields ()
44 Assertion.AssertEquals ("MinPort", IPEndPoint.MinPort, MyMinPort);
45 Assertion.AssertEquals ("MaxPort", IPEndPoint.MaxPort, MyMaxPort);
49 public void Constructors ()
52 new IPEndPoint (null, 0);
53 Assertion.Fail ("Should raise an ArgumentNullException");
54 } catch (ArgumentNullException) {
57 new IPEndPoint (ipAddress, MyMinPort - 1);
58 Assertion.Fail ("Should raise an ArgumentOutOfRangeException #1");
59 } catch (ArgumentOutOfRangeException) {
62 new IPEndPoint (ipAddress, MyMaxPort + 1);
63 Assertion.Fail ("Should raise an ArgumentOutOfRangeException #2");
64 } catch (ArgumentOutOfRangeException) {
68 new IPEndPoint (ip, MyMinPort -1);
69 Assertion.Fail ("Should raise an ArgumentOutOfRangeException #3");
70 } catch (ArgumentOutOfRangeException) {
73 new IPEndPoint (ip, MyMaxPort + 1);
74 Assertion.Fail ("Should raise an ArgumentOutOfRangeException #4");
75 } catch (ArgumentOutOfRangeException) {
80 public void PortProperty ()
83 endPoint1.Port = MyMinPort - 1;
84 Assertion.Fail ("Should raise an ArgumentOutOfRangeException #1");
85 } catch (ArgumentOutOfRangeException) {
88 endPoint1.Port = MyMaxPort + 1;
89 Assertion.Fail ("Should raise an ArgumentOutOfRangeException #2");
90 } catch (ArgumentOutOfRangeException) {
95 public void CreateAndSerialize()
97 SocketAddress addr = endPoint1.Serialize ();
98 EndPoint endPoint3 = endPoint2.Create (addr);
99 Assertion.Assert ("#1", endPoint1.Equals (endPoint3));
101 IPAddress ipAddress = IPAddress.Parse ("255.255.255.255");
102 IPEndPoint endPoint4 = new IPEndPoint (ipAddress, MyMaxPort);
103 addr = endPoint4.Serialize ();
104 EndPoint endPoint5 = endPoint2.Create(addr);
105 Assertion.Assert ("#2", endPoint4.Equals (endPoint5));
106 Assertion.AssertEquals ("#3", endPoint5.ToString (), "255.255.255.255:" + MyMaxPort);
110 public void Equals ()
112 Assertion.Assert("Equals", endPoint1.Equals (endPoint2));
113 Assertion.Assert("Not Equals", !endPoint1.Equals (new IPEndPoint (ip, MyPort + 1)));
117 public void GetHashCodeTest ()
119 Assertion.AssertEquals(endPoint1.GetHashCode(), endPoint2.GetHashCode());
123 public void ToStringTest ()
125 Assertion.AssertEquals("ToString #1", endPoint1.ToString (), MyIPAddressString + ":" + MyPort);
126 Assertion.AssertEquals("ToString #2", endPoint2.ToString (), MyIPAddressString + ":" + MyPort);