87 lines
1.7 KiB
C#
87 lines
1.7 KiB
C#
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());
|
|
}
|
|
}
|
|
}
|