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:
2026-01-19 17:25:18 +03:00
parent 694822f0d6
commit f56784f2aa
44 changed files with 1601 additions and 1905 deletions

View File

@@ -57,7 +57,7 @@ public class NameserverTests
}
[Fact]
public void Constructor_WithEmptyNameservers_ReturnsArrayWithEmptyString()
public void Constructor_WithEmptyNameservers_ReturnsEmptyArray()
{
// Arrange
var nameServersString = "";
@@ -65,9 +65,8 @@ public class NameserverTests
// Act
var nameserver = new Nameserver(1, "Test", nameServersString, "", "", null);
// Assert
nameserver.NameServers.Should().HaveCount(1);
nameserver.NameServers[0].Should().BeEmpty();
// Assert - Empty entries are excluded
nameserver.NameServers.Should().BeEmpty();
}
[Fact]
@@ -79,4 +78,27 @@ public class NameserverTests
// Assert
nameserver.EditDate.Should().BeNull();
}
[Fact]
public void Constructor_WithSemicolonOnlyString_ReturnsEmptyArray()
{
// Arrange - edge case with just semicolons
var nameServersString = ";;;";
// Act
var nameserver = new Nameserver(1, "Test", nameServersString, "", "", null);
// Assert
nameserver.NameServers.Should().BeEmpty();
}
[Fact]
public void ToString_ReturnsName()
{
// Arrange
var nameserver = new Nameserver(1, "Google DNS", "8.8.8.8", "", "", null);
// Act & Assert
nameserver.ToString().Should().Be("Google DNS");
}
}