Add more URL builder tests

This commit is contained in:
Matt Nadareski
2026-03-02 00:48:45 -05:00
parent eeac28e758
commit fd552a8c34

View File

@@ -1,3 +1,4 @@
using SabreTools.RedumpLib.Data;
using SabreTools.RedumpLib.Web;
using Xunit;
@@ -16,7 +17,23 @@ namespace SabreTools.RedumpLib.Test.Web
Assert.Equal($"http://redump.org/disc/{expected}/", actual);
}
// TODO: Implement
[Theory]
[InlineData(true, true, true, true, true, true, true, true, true, true, "http://redump.org/disc/1/changes/")]
[InlineData(false, true, true, true, true, true, true, true, true, true, "http://redump.org/disc/1/cue/")]
[InlineData(false, false, true, true, true, true, true, true, true, true, "http://redump.org/disc/1/edit/")]
[InlineData(false, false, false, true, true, true, true, true, true, true, "http://redump.org/disc/1/gdi/")]
[InlineData(false, false, false, false, true, true, true, true, true, true, "http://redump.org/disc/1/key/")]
[InlineData(false, false, false, false, false, true, true, true, true, true, "http://redump.org/disc/1/lsd/")]
[InlineData(false, false, false, false, false, false, true, true, true, true, "http://redump.org/disc/1/md5/")]
[InlineData(false, false, false, false, false, false, false, true, true, true, "http://redump.org/disc/1/sbi/")]
[InlineData(false, false, false, false, false, false, false, false, true, true, "http://redump.org/disc/1/sfv/")]
[InlineData(false, false, false, false, false, false, false, false, false, true, "http://redump.org/disc/1/sha1/")]
[InlineData(false, false, false, false, false, false, false, false, false, false, "http://redump.org/disc/1/")]
public void BuildDiscUrl_SingleSubpathAllowedAtMost(bool changes, bool cue, bool edit, bool gdi, bool key, bool lsd, bool md5, bool sbi, bool sfv, bool sha1, string expected)
{
string actual = UrlBuilder.BuildDiscUrl(1, changes, cue, edit, gdi, key, lsd, md5, sbi, sfv, sha1);
Assert.Equal(expected, actual);
}
#endregion
@@ -50,7 +67,28 @@ namespace SabreTools.RedumpLib.Test.Web
#region BuildListUrl
// TODO: Implement
[Theory]
[InlineData(true, "http://redump.org/list/have/user/arch/")]
[InlineData(false, "http://redump.org/list/miss/user/arch/")]
public void BuildListUrl_HaveMissSet(bool have, string expected)
{
string actual = UrlBuilder.BuildListUrl(have, "user", RedumpSystem.AcornArchimedes);
Assert.Equal(expected, actual);
}
[Fact]
public void BuildListUrl_InvalidUsername_Builds()
{
string actual = UrlBuilder.BuildListUrl(true, string.Empty, RedumpSystem.AcornArchimedes);
Assert.Equal("http://redump.org/list/have//arch/", actual);
}
[Fact]
public void BuildListUrl_InvalidSystem_Builds()
{
string actual = UrlBuilder.BuildListUrl(true, "user", RedumpSystem.MarkerOtherEnd);
Assert.Equal("http://redump.org/list/have/user//", actual);
}
#endregion