@ -13,9 +13,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 6 ,
AudioChannels Container = 6 ,
AudioChannelPositions = null ,
AudioChannelPositionsText = "Front: L C R, Side: L R, LFE"
AudioChannelPositionsText Container = "Front: L C R, Side: L R, LFE"
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 5.1 m ) ;
@ -26,9 +26,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = null ,
AudioChannelPositionsText = "Front: L R"
AudioChannelPositionsText Container = "Front: L R"
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 2 ) ;
@ -39,9 +39,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = null ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 2
} ;
@ -53,9 +53,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = null ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 3
} ;
@ -67,9 +67,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = "2/0/0" ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 3
} ;
@ -81,23 +81,73 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = "3/2/0.1" ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 3
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 5.1 m ) ;
}
[Test]
public void should_format_8_channel_object_based_as_71_if_dtsx ( )
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannelsContainer = 8 ,
AudioChannelsStream = 0 ,
AudioFormat = "DTS" ,
AudioAdditionalFeatures = "XLL X" ,
AudioChannelPositions = "Object Based" ,
AudioChannelPositionsTextContainer = "Object Based" ,
AudioChannelPositionsTextStream = "Object Based" ,
SchemaRevision = 3
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 7.1 m ) ;
}
[Test]
public void should_format_8_channel_blank_as_71_if_dtsx ( )
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannelsContainer = 8 ,
AudioChannelsStream = 0 ,
AudioFormat = "DTS" ,
AudioAdditionalFeatures = "XLL X" ,
AudioChannelPositions = "" ,
AudioChannelPositionsTextContainer = "" ,
AudioChannelPositionsTextStream = "Object Based" ,
SchemaRevision = 3
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 7.1 m ) ;
}
[Test]
public void should_handle_AudioChannelPositions_three_digits ( )
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannelsContainer = 2 ,
AudioChannelPositions = "3/2/0.2.1" ,
AudioChannelPositionsTextContainer = null ,
SchemaRevision = 3
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 7.1 m ) ;
}
[Test]
public void should_cleanup_extraneous_text_from_AudioChannelPositions ( )
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = "Object Based / 3/2/2.1" ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 3
} ;
@ -109,9 +159,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = " / 2/0/0.0" ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 3
} ;
@ -123,9 +173,23 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = "3/2/2.1 / 3/2/2.1" ,
AudioChannelPositionsText = null ,
AudioChannelPositionsTextContainer = null ,
SchemaRevision = 3
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 7.1 m ) ;
}
[Test]
public void should_sum_first_series_of_numbers_from_AudioChannelPositions_with_three_digits ( )
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannelsContainer = 2 ,
AudioChannelPositions = "3/2/0.2.1 / 3/2/0.1" ,
AudioChannelPositionsTextContainer = null ,
SchemaRevision = 3
} ;
@ -137,9 +201,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = "1+1" ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 3
} ;
@ -151,9 +215,9 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 6 ,
AudioChannels Container = 6 ,
AudioChannelPositions = "15 objects" ,
AudioChannelPositionsText = "15 objects / Front: L C R, Side: L R, LFE" ,
AudioChannelPositionsText Container = "15 objects / Front: L C R, Side: L R, LFE" ,
SchemaRevision = 3
} ;
@ -165,13 +229,45 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannels = 2 ,
AudioChannels Container = 2 ,
AudioChannelPositions = "15 objects / 3/2.1" ,
AudioChannelPositionsText = null ,
AudioChannelPositionsText Container = null ,
SchemaRevision = 3
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 5.1 m ) ;
}
[Test]
public void should_use_audio_stream_text_when_exists ( )
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannelsContainer = 6 ,
AudioChannelsStream = 8 ,
AudioChannelPositions = null ,
AudioChannelPositionsTextContainer = null ,
AudioChannelPositionsTextStream = "Front: L C R, Side: L R, Back: L R, LFE" ,
SchemaRevision = 6
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 7.1 m ) ;
}
[Test]
public void should_use_audio_stream_channels_when_exists ( )
{
var mediaInfoModel = new MediaInfoModel
{
AudioChannelsContainer = 6 ,
AudioChannelsStream = 8 ,
AudioChannelPositions = null ,
AudioChannelPositionsTextContainer = null ,
AudioChannelPositionsTextStream = null ,
SchemaRevision = 6
} ;
MediaInfoFormatter . FormatAudioChannels ( mediaInfoModel ) . Should ( ) . Be ( 8 m ) ;
}
}
}