Add CompareTo tests and make changes

This commit is contained in:
Matt Nadareski
2025-01-08 10:32:11 -05:00
parent bdfbb35160
commit 8cf360a747
2 changed files with 71 additions and 33 deletions

View File

@@ -128,7 +128,59 @@ namespace SabreTools.DatItems.Test
#region CompareTo
// TODO: Implement CompareTo tests
[Fact]
public void CompareTo_NullOther_Returns1()
{
DatItem self = new Rom();
DatItem? other = null;
int actual = self.CompareTo(other);
Assert.Equal(1, actual);
}
[Fact]
public void CompareTo_DifferentOther_Returns1()
{
DatItem self = new Rom();
self.SetName("name");
DatItem? other = new Disk();
other.SetName("name");
int actual = self.CompareTo(other);
Assert.Equal(1, actual);
}
[Fact]
public void CompareTo_Empty_Returns1()
{
DatItem self = new Rom();
DatItem? other = new Rom();
int actual = self.CompareTo(other);
Assert.Equal(1, actual);
}
[Theory]
[InlineData(null, null, 0)]
[InlineData("name", null, 1)]
[InlineData("name", "other", -1)]
[InlineData(null, "name", -1)]
[InlineData("other", "name", 1)]
[InlineData("name", "name", 0)]
public void CompareTo_NamesOnly(string? selfName, string? otherName, int expected)
{
DatItem self = new Rom();
self.SetName(selfName);
self.SetFieldValue(Models.Metadata.Rom.CRCKey, "DEADBEEF");
DatItem? other = new Rom();
other.SetName(otherName);
other.SetFieldValue(Models.Metadata.Rom.CRCKey, "DEADBEEF");
int actual = self.CompareTo(other);
Assert.Equal(expected, actual);
}
#endregion