示例#1
0
        public void IpV4AddressRandomTest()
        {
            Assert.AreEqual(IpV4Address.AllHostsGroupAddress, new IpV4Address("224.0.0.1"));

            Random random = new Random();

            for (int i = 0; i != 1000; ++i)
            {
                IpV4Address address = random.NextIpV4Address();

                Assert.AreEqual(address, new IpV4Address(address.ToString()));
                Assert.IsTrue(address == new IpV4Address(address.ToString()));
                Assert.IsFalse(address != new IpV4Address(address.ToString()));
                Assert.AreEqual(address.GetHashCode(), new IpV4Address(address.ToString()).GetHashCode());
                Assert.AreEqual(address, new IpV4Address(address.ToValue()));

                Assert.AreNotEqual(address, random.NextIpV4Address());
                Assert.IsFalse(address == random.NextIpV4Address());
                Assert.IsTrue(address != random.NextIpV4Address());
                Assert.AreNotEqual(address.GetHashCode(), random.NextIpV4Address().GetHashCode());

                Assert.AreNotEqual(2, address);
                Assert.IsFalse(address.Equals(null));
            }
        }
示例#2
0
 public void Remove(IpV4Address IP)
 {
     if (IP != null && !IP.Equals(IpV4Address.Zero))
     {
         if (_arp_table.ContainsKey(IP))
         {
             _arp_table.Remove(IP);
             VirtualNetwork.Instance.PostTraceMessage("ARP table item remove: " + IP.ToString());
         }
     }
     else
     {
         _arp_table.Clear();
         VirtualNetwork.Instance.PostTraceMessage("ARP table clear");
     }
 }