@@ -418,15 +418,16 @@ public void ToBDictionary_CreationDate_DoesNotAddNull()
418418
419419 [ Theory ]
420420 [ AutoMockedData ]
421- public void ToBDictionary_Info_SingleFile_AddsNameAndLength ( long fileSize , string fileName )
421+ public void ToBDictionary_Info_SingleFile_AddsNameAndLength ( long fileSize , string fileName , string fileNameUtf8 )
422422 {
423423 // Arrange
424424 var torrent = new Torrent
425425 {
426426 File = new SingleFileInfo
427427 {
428428 FileSize = fileSize ,
429- FileName = fileName
429+ FileName = fileName ,
430+ FileNameUtf8 = fileNameUtf8
430431 }
431432 } ;
432433
@@ -436,11 +437,12 @@ public void ToBDictionary_Info_SingleFile_AddsNameAndLength(long fileSize, strin
436437 // Assert
437438 info . Should ( ) . Contain ( TorrentInfoFields . Length , ( BNumber ) fileSize ) ;
438439 info . Should ( ) . Contain ( TorrentInfoFields . Name , ( BString ) fileName ) ;
440+ info . Should ( ) . Contain ( TorrentInfoFields . NameUtf8 , ( BString ) fileNameUtf8 ) ;
439441 }
440442
441443 [ Theory ]
442444 [ AutoMockedData ]
443- public void ToBDictionary_Info_MultiFile_AddsFiles ( string directoryName , long fileSize , IList < string > path )
445+ public void ToBDictionary_Info_MultiFile_AddsFiles ( string directoryName , long fileSize , IList < string > path , IList < string > pathUtf8 )
444446 {
445447 // Arrange
446448 var torrent = new Torrent
@@ -450,7 +452,8 @@ public void ToBDictionary_Info_MultiFile_AddsFiles(string directoryName, long fi
450452 new MultiFileInfo
451453 {
452454 FileSize = fileSize ,
453- Path = path
455+ Path = path ,
456+ PathUtf8 = pathUtf8
454457 }
455458 }
456459 } ;
@@ -463,10 +466,27 @@ public void ToBDictionary_Info_MultiFile_AddsFiles(string directoryName, long fi
463466 info . Should ( ) . Contain ( TorrentInfoFields . Name , ( BString ) directoryName ) ;
464467 info . Should ( ) . ContainKey ( TorrentInfoFields . Files ) ;
465468 info [ TorrentInfoFields . Files ] . Should ( ) . BeOfType < BList < BDictionary > > ( ) ;
466- files [ 0 ] . Should ( ) . BeOfType < BDictionary > ( ) ;
467- files [ 0 ] . Should ( ) . Contain ( TorrentFilesFields . Length , ( BNumber ) fileSize ) ;
468- files [ 0 ] . Should ( ) . ContainKey ( TorrentFilesFields . Path ) ;
469- files [ 0 ] . Get < BList > ( TorrentFilesFields . Path ) . Should ( ) . HaveCount ( path . Count ) ;
469+
470+ var file = files [ 0 ] ;
471+ file . Should ( ) . BeOfType < BDictionary > ( ) ;
472+ file . Should ( ) . Contain ( TorrentFilesFields . Length , ( BNumber ) fileSize ) ;
473+ file . Should ( ) . ContainKey ( TorrentFilesFields . Path ) ;
474+ file . Should ( ) . ContainKey ( TorrentFilesFields . PathUtf8 ) ;
475+
476+ var list = file . Get < BList > ( TorrentFilesFields . Path ) ;
477+ var listUtf8 = file . Get < BList > ( TorrentFilesFields . PathUtf8 ) ;
478+ list . Should ( ) . HaveCount ( path . Count ) ;
479+ listUtf8 . Should ( ) . HaveCount ( pathUtf8 . Count ) ;
480+
481+ for ( var i = 0 ; i < list . Count ; i ++ )
482+ {
483+ list [ i ] . ToString ( ) . Should ( ) . Be ( path [ i ] ) ;
484+ }
485+
486+ for ( var i = 0 ; i < listUtf8 . Count ; i ++ )
487+ {
488+ listUtf8 [ i ] . ToString ( ) . Should ( ) . Be ( pathUtf8 [ i ] ) ;
489+ }
470490 }
471491
472492 [ Theory ]
0 commit comments