using FluentAssertions ;
using NUnit.Framework ;
using NzbDrone.Core.Qualities ;
using NzbDrone.Core.Test.Framework ;
namespace NzbDrone.Core.Test.Qualities
{
[TestFixture]
public class QualityFixture : CoreTest
{
public static object [ ] FromIntCases =
{
new object [ ] { 1 , Quality . SDTV } ,
new object [ ] { 2 , Quality . DVD } ,
new object [ ] { 4 , Quality . HDTV720p } ,
new object [ ] { 5 , Quality . WEBDL720p } ,
new object [ ] { 6 , Quality . Bluray720p } ,
new object [ ] { 7 , Quality . Bluray1080p }
} ;
public static object [ ] ToIntCases =
{
new object [ ] { Quality . SDTV , 1 } ,
new object [ ] { Quality . DVD , 2 } ,
new object [ ] { Quality . HDTV720p , 4 } ,
new object [ ] { Quality . WEBDL720p , 5 } ,
new object [ ] { Quality . Bluray720p , 6 } ,
new object [ ] { Quality . Bluray1080p , 7 }
} ;
[Test, TestCaseSource("FromIntCases")]
public void should_be_able_to_convert_int_to_qualityTypes ( int source , Quality expected )
{
var quality = ( Quality ) source ;
quality . Should ( ) . Be ( expected ) ;
}
[Test, TestCaseSource("ToIntCases")]
public void should_be_able_to_convert_qualityTypes_to_int ( Quality source , int expected )
{
var i = ( int ) source ;
i . Should ( ) . Be ( expected ) ;
}
[Test]
public void Icomparer_greater_test ( )
{
var first = Quality . DVD ;
var second = Quality . Bluray1080p ;
second . Should ( ) . BeGreaterThan ( first ) ;
}
[Test]
public void Icomparer_lesser ( )
{
var first = Quality . DVD ;
var second = Quality . Bluray1080p ;
first . Should ( ) . BeLessThan ( second ) ;
}
[Test]
public void equal_operand ( )
{
var first = Quality . Bluray1080p ;
var second = Quality . Bluray1080p ;
( first = = second ) . Should ( ) . BeTrue ( ) ;
( first > = second ) . Should ( ) . BeTrue ( ) ;
( first < = second ) . Should ( ) . BeTrue ( ) ;
}
[Test]
public void equal_operand_false ( )
{
var first = Quality . Bluray1080p ;
var second = Quality . Unknown ;
( first = = second ) . Should ( ) . BeFalse ( ) ;
}
[Test]
public void not_equal_operand ( )
{
var first = Quality . Bluray1080p ;
var second = Quality . Bluray1080p ;
( first ! = second ) . Should ( ) . BeFalse ( ) ;
}
[Test]
public void not_equal_operand_false ( )
{
var first = Quality . Bluray1080p ;
var second = Quality . Unknown ;
( first ! = second ) . Should ( ) . BeTrue ( ) ;
}
[Test]
public void greater_operand ( )
{
var first = Quality . DVD ;
var second = Quality . Bluray1080p ;
( first < second ) . Should ( ) . BeTrue ( ) ;
( first < = second ) . Should ( ) . BeTrue ( ) ;
}
[Test]
public void lesser_operand ( )
{
var first = Quality . DVD ;
var second = Quality . Bluray1080p ;
( second > first ) . Should ( ) . BeTrue ( ) ;
( second > = first ) . Should ( ) . BeTrue ( ) ;
}
}
}