Skip to content

Commit fd552a8

Browse files
committed
Add more URL builder tests
1 parent eeac28e commit fd552a8

1 file changed

Lines changed: 40 additions & 2 deletions

File tree

SabreTools.RedumpLib.Test/Web/UrlBuilderTests.cs

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using SabreTools.RedumpLib.Data;
12
using SabreTools.RedumpLib.Web;
23
using Xunit;
34

@@ -16,7 +17,23 @@ public void BuildDiscUrl_AlwaysPositive(int id, int expected)
1617
Assert.Equal($"http://redump.org/disc/{expected}/", actual);
1718
}
1819

19-
// TODO: Implement
20+
[Theory]
21+
[InlineData(true, true, true, true, true, true, true, true, true, true, "http://redump.org/disc/1/changes/")]
22+
[InlineData(false, true, true, true, true, true, true, true, true, true, "http://redump.org/disc/1/cue/")]
23+
[InlineData(false, false, true, true, true, true, true, true, true, true, "http://redump.org/disc/1/edit/")]
24+
[InlineData(false, false, false, true, true, true, true, true, true, true, "http://redump.org/disc/1/gdi/")]
25+
[InlineData(false, false, false, false, true, true, true, true, true, true, "http://redump.org/disc/1/key/")]
26+
[InlineData(false, false, false, false, false, true, true, true, true, true, "http://redump.org/disc/1/lsd/")]
27+
[InlineData(false, false, false, false, false, false, true, true, true, true, "http://redump.org/disc/1/md5/")]
28+
[InlineData(false, false, false, false, false, false, false, true, true, true, "http://redump.org/disc/1/sbi/")]
29+
[InlineData(false, false, false, false, false, false, false, false, true, true, "http://redump.org/disc/1/sfv/")]
30+
[InlineData(false, false, false, false, false, false, false, false, false, true, "http://redump.org/disc/1/sha1/")]
31+
[InlineData(false, false, false, false, false, false, false, false, false, false, "http://redump.org/disc/1/")]
32+
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)
33+
{
34+
string actual = UrlBuilder.BuildDiscUrl(1, changes, cue, edit, gdi, key, lsd, md5, sbi, sfv, sha1);
35+
Assert.Equal(expected, actual);
36+
}
2037

2138
#endregion
2239

@@ -50,7 +67,28 @@ public void BuildDownloadsUrl_Constant()
5067

5168
#region BuildListUrl
5269

53-
// TODO: Implement
70+
[Theory]
71+
[InlineData(true, "http://redump.org/list/have/user/arch/")]
72+
[InlineData(false, "http://redump.org/list/miss/user/arch/")]
73+
public void BuildListUrl_HaveMissSet(bool have, string expected)
74+
{
75+
string actual = UrlBuilder.BuildListUrl(have, "user", RedumpSystem.AcornArchimedes);
76+
Assert.Equal(expected, actual);
77+
}
78+
79+
[Fact]
80+
public void BuildListUrl_InvalidUsername_Builds()
81+
{
82+
string actual = UrlBuilder.BuildListUrl(true, string.Empty, RedumpSystem.AcornArchimedes);
83+
Assert.Equal("http://redump.org/list/have//arch/", actual);
84+
}
85+
86+
[Fact]
87+
public void BuildListUrl_InvalidSystem_Builds()
88+
{
89+
string actual = UrlBuilder.BuildListUrl(true, "user", RedumpSystem.MarkerOtherEnd);
90+
Assert.Equal("http://redump.org/list/have/user//", actual);
91+
}
5492

5593
#endregion
5694

0 commit comments

Comments
 (0)