using System.Net; namespace AMWD.Common.Tests.Extensions { [TestClass] public class IPAddressExtensionsTest { [TestMethod] public void ShouldIncrementLastByte() { // arrange var ipAddress = IPAddress.Parse("192.168.178.22"); // act var incremented = ipAddress.Increment(); // assert Assert.AreEqual("192.168.178.23", incremented.ToString()); } [TestMethod] public void ShouldIncrementAllBytes() { // arrange var ipAddress = IPAddress.Parse("192.255.255.255"); // act var incremented = ipAddress.Increment(); // assert Assert.AreEqual("193.0.0.0", incremented.ToString()); } [TestMethod] public void ShouldIncrementOverflow() { // arrange var ipAddress = IPAddress.Parse("255.255.255.255"); // act var incremented = ipAddress.Increment(); // assert Assert.AreEqual("0.0.0.0", incremented.ToString()); } [TestMethod] public void ShouldDecrementLastByte() { // arrange var ipAddress = IPAddress.Parse("192.168.178.22"); // act var decremented = ipAddress.Decrement(); // assert Assert.AreEqual("192.168.178.21", decremented.ToString()); } [TestMethod] public void ShouldDecrementAllBytes() { // arrange var ipAddress = IPAddress.Parse("192.0.0.0"); // act var decremented = ipAddress.Decrement(); // assert Assert.AreEqual("191.255.255.255", decremented.ToString()); } [TestMethod] public void ShouldDecrementUnderflow() { // arrange var ipAddress = IPAddress.Parse("0.0.0.0"); // act var decremented = ipAddress.Decrement(); // assert Assert.AreEqual("255.255.255.255", decremented.ToString()); } } }