@ -1,4 +1,5 @@
using System.IO.Abstractions ;
using Recyclarr.Common ;
using Recyclarr.Platform ;
using Recyclarr.TrashGuide.CustomFormat ;
@ -13,45 +14,14 @@ public class CustomFormatCategoryParserTest
[Frozen(Matching.ImplementedInterfaces)] MockFileSystem fs ,
CustomFormatCategoryParser sut )
{
const string markdown = @ "
# # INDEX
- - - - - -
| Audio Advanced # 1 | Audio Advanced # 2 | Anime | Anime |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - |
| [ TrueHD ATMOS ] ( # truehd - atmos ) | [ FLAC ] ( # flac ) | [ Anime Web Tier 01 ( Muxers ) ] ( # anime - web - tier - 01 - muxers ) | [ v0 ] ( # v0 ) |
| [ DTS X ] ( # dts - x ) | [ PCM ] ( # pcm ) | [ Anime Web Tier 02 ( Top FanSubs ) ] ( # anime - web - tier - 02 - top - fansubs ) | [ v1 ] ( # v1 ) |
| [ ATMOS ( undefined ) ] ( # atmos - undefined ) | [ DTS - HD HRA ] ( # dts - hd - hra ) | [ Anime Web Tier 03 ( Official Subs ) ] ( # anime - web - tier - 03 - official - subs ) | [ v2 ] ( # v2 ) |
| [ DD + ATMOS ] ( # dd - atmos ) | [ AAC ] ( # aac ) | [ Anime Web Tier 04 ( Official Subs ) ] ( # anime - web - tier - 04 - official - subs ) | [ v3 ] ( # v3 ) |
| [ TrueHD ] ( # truehd ) | [ DD ] ( # dd ) | [ Anime Web Tier 05 ( FanSubs ) ] ( # anime - web - tier - 05 - fansubs ) | [ v4 ] ( # v4 ) |
| [ DTS - HD MA ] ( # dts - hd - ma ) | [ MP3 ] ( # mp3 ) | [ Anime Web Tier 06 ( FanSubs ) ] ( # anime - web - tier - 06 - fansubs ) | [ VRV ] ( # vrv ) |
| [ DD + ] ( # ddplus ) | [ Opus ] ( # opus ) | [ Anime Raws ] ( # anime - raws ) | |
| [ DTS - ES ] ( # dts - es ) | | [ Anime LQ Groups ] ( # anime - lq - groups ) | |
| [ DTS ] ( # dts ) | | | |
| | | | |
- - - - - -
| Movie Versions | Unwanted |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| [ Hybrid ] ( # hybrid ) | [ BR - DISK ] ( # br - disk ) |
| [ Remaster ] ( # remaster ) | [ EVO ( no WEBDL ) ] ( # evo - no - webdl ) |
| [ 4 K Remaster ] ( # 4 k - remaster ) | [ LQ ] ( # lq ) |
| [ Special Editions ] ( # special - edition ) | [ x265 ( 720 / 1080 p ) ] ( # x265 - 7201080 p ) |
| [ Criterion Collection ] ( # criterion - collection ) | [ 3D ] ( # 3d ) |
| [ Theatrical Cut ] ( # theatrical - cut ) | [ No - RlsGroup ] ( # no - rlsgroup ) |
| [ IMAX ] ( # imax ) | [ Obfuscated ] ( # obfuscated ) |
| [ IMAX Enhanced ] ( # imax - enhanced ) | [ DV ( WEBDL ) ] ( # dv - webdl ) |
| | |
- - - - - -
";
const string markdownFilename = "Radarr-collection-of-custom-formats.md" ;
var resourceReader = new ResourceDataReader ( typeof ( CustomFormatCategoryParserTest ) , "Data" ) ;
var markdown = resourceReader . ReadData ( markdownFilename ) ;
var file = fs . CurrentDirectory ( )
. SubDirectory ( "docs" )
. SubDirectory ( "Radarr" )
. File ( "Radarr-collection-of-custom-formats.md" ) ;
. File ( markdownFilename ) ;
fs . AddFile ( file . FullName , new MockFileData ( markdown ) ) ;
@ -59,11 +29,24 @@ public class CustomFormatCategoryParserTest
result . Select ( x = > x . CategoryName ) . Distinct ( )
. Should ( ) . BeEquivalentTo (
"Anime" ,
"Audio Advanced #1" ,
"Audio Advanced #2" ,
"Audio Channels" ,
"HDR Formats" ,
"Movie Versions" ,
"Unwanted"
"Unwanted" ,
"HQ Release Groups" ,
"General Streaming Services" ,
"Asian Streaming Services" ,
"Dutch Streaming Services" ,
"UK Streaming Services" ,
"Misc Streaming Services" ,
"Anime Streaming Services" ,
"Miscellaneous" ,
"French Audio Version" ,
"French Source Groups" ,
"Anime" ,
"Anime Optional"
) ;
result . Where ( x = > x . CategoryName = = "Audio Advanced #1" ) . Select ( x = > ( x . CfName , x . CfAnchor ) )
@ -71,7 +54,7 @@ public class CustomFormatCategoryParserTest
( "TrueHD ATMOS" , "truehd-atmos" ) ,
( "DTS X" , "dts-x" ) ,
( "ATMOS (undefined)" , "atmos-undefined" ) ,
( "DD+ ATMOS" , "dd -atmos") ,
( "DD+ ATMOS" , "dd plus -atmos") ,
( "TrueHD" , "truehd" ) ,
( "DTS-HD MA" , "dts-hd-ma" ) ,
( "DD+" , "ddplus" ) ,
@ -81,6 +64,14 @@ public class CustomFormatCategoryParserTest
result . Where ( x = > x . CategoryName = = "Anime" ) . Select ( x = > ( x . CfName , x . CfAnchor ) )
. Should ( ) . BeEquivalentTo ( [
( "Anime BD Tier 01 (Top SeaDex Muxers)" , "anime-bd-tier-01-top-seadex-muxers" ) ,
( "Anime BD Tier 02 (SeaDex Muxers)" , "anime-bd-tier-02-seadex-muxers" ) ,
( "Anime BD Tier 03 (SeaDex Muxers)" , "anime-bd-tier-03-seadex-muxers" ) ,
( "Anime BD Tier 04 (SeaDex Muxers)" , "anime-bd-tier-04-seadex-muxers" ) ,
( "Anime BD Tier 05 (Remuxes)" , "anime-bd-tier-05-remuxes" ) ,
( "Anime BD Tier 06 (FanSubs)" , "anime-bd-tier-06-fansubs" ) ,
( "Anime BD Tier 07 (P2P/Scene)" , "anime-bd-tier-07-p2pscene" ) ,
( "Anime BD Tier 08 (Mini Encodes)" , "anime-bd-tier-08-mini-encodes" ) ,
( "Anime Web Tier 01 (Muxers)" , "anime-web-tier-01-muxers" ) ,
( "Anime Web Tier 02 (Top FanSubs)" , "anime-web-tier-02-top-fansubs" ) ,
( "Anime Web Tier 03 (Official Subs)" , "anime-web-tier-03-official-subs" ) ,
@ -93,8 +84,15 @@ public class CustomFormatCategoryParserTest
( "v1" , "v1" ) ,
( "v2" , "v2" ) ,
( "v3" , "v3" ) ,
( "v4" , "v4" ) ,
( "VRV" , "vrv" )
( "v4" , "v4" )
] ) ;
result . Where ( x = > x . CategoryName = = "Anime Optional" ) . Select ( x = > ( x . CfName , x . CfAnchor ) )
. Should ( ) . BeEquivalentTo ( [
( "Uncensored" , "uncensored" ) ,
( "10bit" , "10bit" ) ,
( "Anime Dual Audio" , "anime-dual-audio" ) ,
( "Dubs Only" , "dubs-only" )
] ) ;
}
}