Refactor IPAM model classes to use records for Address, Subnetwork, Vlan, Vrf, Section, Tag, Domain, Nameserver, and Session; enhance documentation and implement value equality for records.
This commit is contained in:
@@ -93,13 +93,13 @@ public class SubnetworkTests
|
||||
[InlineData("10.0.0.0", 8, "10.0.0.0/8")]
|
||||
[InlineData("172.16.0.0", 16, "172.16.0.0/16")]
|
||||
[InlineData("192.168.100.0", 30, "192.168.100.0/30")]
|
||||
public void GetCIDR_ReturnsCidrNotation(string subnet, int mask, string expectedCidr)
|
||||
public void CIDR_ReturnsCidrNotation(string subnet, int mask, string expectedCidr)
|
||||
{
|
||||
// Arrange
|
||||
var subnetwork = CreateSubnetwork(subnet, mask);
|
||||
|
||||
// Act
|
||||
var result = subnetwork.GetCIDR();
|
||||
var result = subnetwork.CIDR;
|
||||
|
||||
// Assert
|
||||
result.Should().Be(expectedCidr);
|
||||
@@ -119,16 +119,31 @@ public class SubnetworkTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ToString_EqualsGetCIDR()
|
||||
public void ToString_EqualsCIDRProperty()
|
||||
{
|
||||
// Arrange
|
||||
var subnetwork = CreateSubnetwork("172.20.0.0", 12);
|
||||
|
||||
// Act & Assert
|
||||
subnetwork.ToString().Should().Be(subnetwork.GetCIDR());
|
||||
subnetwork.ToString().Should().Be(subnetwork.CIDR);
|
||||
}
|
||||
|
||||
private static Subnetwork CreateSubnetwork(string subnet, int mask)
|
||||
[Fact]
|
||||
public void Record_Equality_WorksCorrectly()
|
||||
{
|
||||
// Arrange - use same calculation object for equality comparison
|
||||
var calculation = new { maxhosts = 254 };
|
||||
var subnet1 = CreateSubnetwork("192.168.1.0", 24, calculation);
|
||||
var subnet2 = CreateSubnetwork("192.168.1.0", 24, calculation);
|
||||
|
||||
// Assert - records use value equality (except for the Calculation object reference)
|
||||
subnet1.Id.Should().Be(subnet2.Id);
|
||||
subnet1.Subnet.Should().Be(subnet2.Subnet);
|
||||
subnet1.Mask.Should().Be(subnet2.Mask);
|
||||
subnet1.CIDR.Should().Be(subnet2.CIDR);
|
||||
}
|
||||
|
||||
private static Subnetwork CreateSubnetwork(string subnet, int mask, object? calculation = null)
|
||||
{
|
||||
return new Subnetwork(
|
||||
1, subnet, mask, 1, "", "", "",
|
||||
@@ -136,7 +151,7 @@ public class SubnetworkTests
|
||||
"", false, false, false, false,
|
||||
false, 0, false, false, false, false,
|
||||
0, 0, 0, null, null, null,
|
||||
new object(), null
|
||||
calculation ?? new object(), null
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user