1+ using SabreTools . RedumpLib . Data ;
12using SabreTools . RedumpLib . Web ;
23using 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