Skip to content

Commit 0e50b67

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

1 file changed

Lines changed: 27 additions & 1 deletion

File tree

SabreTools.RedumpLib.Test/Web/UrlBuilderTests.cs

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using SabreTools.RedumpLib.Data;
23
using SabreTools.RedumpLib.Web;
34
using Xunit;
@@ -118,7 +119,32 @@ public void BuildNewDiscUrl_AlwaysPositive(int id, int expected)
118119

119120
#region BuildPackUrl
120121

121-
// TODO: Implement
122+
[Theory]
123+
[InlineData(PackType.Cuesheets, "http://redump.org/cues/arch/")]
124+
[InlineData(PackType.Datfile, "http://redump.org/datfile/arch/")]
125+
[InlineData(PackType.DecryptedKeys, "http://redump.org/dkeys/arch/")]
126+
[InlineData(PackType.Gdis, "http://redump.org/gdi/arch/")]
127+
[InlineData(PackType.Keys, "http://redump.org/keys/arch/")]
128+
[InlineData(PackType.Lsds, "http://redump.org/lsd/arch/")]
129+
[InlineData(PackType.Sbis, "http://redump.org/sbi/arch/")]
130+
public void BuildPackUrl_ValidPackType_ValidSystem_Builds(PackType packType, string expected)
131+
{
132+
string actual = UrlBuilder.BuildPackUrl(packType, RedumpSystem.AcornArchimedes);
133+
Assert.Equal(expected, actual);
134+
}
135+
136+
[Fact]
137+
public void BuildPackUrl_InvalidPackType_Throws()
138+
{
139+
Assert.Throws<ArgumentOutOfRangeException>(() => UrlBuilder.BuildPackUrl((PackType)int.MaxValue, RedumpSystem.AcornArchimedes));
140+
}
141+
142+
[Fact]
143+
public void BuildPackUrl_InvalidSystem_Builds()
144+
{
145+
string actual = UrlBuilder.BuildPackUrl(PackType.Datfile, RedumpSystem.MarkerOtherEnd);
146+
Assert.Equal("http://redump.org/datfile//", actual);
147+
}
122148

123149
#endregion
124150
}

0 commit comments

Comments
 (0)