@ -201,6 +201,121 @@ namespace NzbDrone.Core.Test.DataAugmentation.Scene
seasonNumber . Should ( ) . Be ( expectedSeasonNumber ) ;
}
[Test]
public void should_return_alternate_title_for_global_season ( )
{
var mappings = new List < SceneMapping >
{
new SceneMapping { Title = "Fudanshi Koukou Seikatsu 1" , ParseTerm = "fudanshikoukouseikatsu1" , SearchTerm = "Fudanshi Koukou Seikatsu 1" , TvdbId = 100 , SeasonNumber = null , SceneSeasonNumber = null } ,
new SceneMapping { Title = "Fudanshi Koukou Seikatsu 2" , ParseTerm = "fudanshikoukouseikatsu2" , SearchTerm = "Fudanshi Koukou Seikatsu 2" , TvdbId = 100 , SeasonNumber = - 1 , SceneSeasonNumber = null } ,
new SceneMapping { Title = "Fudanshi Koukou Seikatsu 3" , ParseTerm = "fudanshikoukouseikatsu3" , SearchTerm = "Fudanshi Koukou Seikatsu 3" , TvdbId = 100 , SeasonNumber = null , SceneSeasonNumber = - 1 } ,
new SceneMapping { Title = "Fudanshi Koukou Seikatsu 4" , ParseTerm = "fudanshikoukouseikatsu4" , SearchTerm = "Fudanshi Koukou Seikatsu 4" , TvdbId = 100 , SeasonNumber = - 1 , SceneSeasonNumber = - 1 } ,
} ;
Mocker . GetMock < ISceneMappingRepository > ( ) . Setup ( c = > c . All ( ) ) . Returns ( mappings ) ;
var names = Subject . GetSceneNames ( 100 , new List < int > { 10 } , new List < int > { 10 } ) ;
names . Should ( ) . HaveCount ( 4 ) ;
}
[Test]
public void should_return_alternate_title_for_season ( )
{
var mappings = new List < SceneMapping >
{
new SceneMapping { Title = "Fudanshi Koukou Seikatsu" , ParseTerm = "fudanshikoukouseikatsu" , SearchTerm = "Fudanshi Koukou Seikatsu" , TvdbId = 100 , SeasonNumber = 1 , SceneSeasonNumber = null }
} ;
Mocker . GetMock < ISceneMappingRepository > ( ) . Setup ( c = > c . All ( ) ) . Returns ( mappings ) ;
var names = Subject . GetSceneNames ( 100 , new List < int > { 1 } , new List < int > { 10 } ) ;
names . Should ( ) . HaveCount ( 1 ) ;
}
[Test]
public void should_not_return_alternate_title_for_season ( )
{
var mappings = new List < SceneMapping >
{
new SceneMapping { Title = "Fudanshi Koukou Seikatsu" , ParseTerm = "fudanshikoukouseikatsu" , SearchTerm = "Fudanshi Koukou Seikatsu" , TvdbId = 100 , SeasonNumber = 1 , SceneSeasonNumber = null }
} ;
Mocker . GetMock < ISceneMappingRepository > ( ) . Setup ( c = > c . All ( ) ) . Returns ( mappings ) ;
var names = Subject . GetSceneNames ( 100 , new List < int > { 2 } , new List < int > { 10 } ) ;
names . Should ( ) . BeEmpty ( ) ;
}
[Test]
public void should_return_alternate_title_for_sceneseason ( )
{
var mappings = new List < SceneMapping >
{
new SceneMapping { Title = "Fudanshi Koukou Seikatsu" , ParseTerm = "fudanshikoukouseikatsu" , SearchTerm = "Fudanshi Koukou Seikatsu" , TvdbId = 100 , SeasonNumber = null , SceneSeasonNumber = 1 }
} ;
Mocker . GetMock < ISceneMappingRepository > ( ) . Setup ( c = > c . All ( ) ) . Returns ( mappings ) ;
var names = Subject . GetSceneNames ( 100 , new List < int > { 10 } , new List < int > { 1 } ) ;
names . Should ( ) . HaveCount ( 1 ) ;
}
[Test]
public void should_not_return_alternate_title_for_sceneseason ( )
{
var mappings = new List < SceneMapping >
{
new SceneMapping { Title = "Fudanshi Koukou Seikatsu" , ParseTerm = "fudanshikoukouseikatsu" , SearchTerm = "Fudanshi Koukou Seikatsu" , TvdbId = 100 , SeasonNumber = null , SceneSeasonNumber = 1 }
} ;
Mocker . GetMock < ISceneMappingRepository > ( ) . Setup ( c = > c . All ( ) ) . Returns ( mappings ) ;
var names = Subject . GetSceneNames ( 100 , new List < int > { 10 } , new List < int > { 2 } ) ;
names . Should ( ) . BeEmpty ( ) ;
}
[Test]
public void should_return_alternate_title_for_fairy_tail ( )
{
var mappings = new List < SceneMapping >
{
new SceneMapping { Title = "Fairy Tail S2" , ParseTerm = "fairytails2" , SearchTerm = "Fairy Tail S2" , TvdbId = 100 , SeasonNumber = null , SceneSeasonNumber = 2 }
} ;
Mocker . GetMock < ISceneMappingRepository > ( ) . Setup ( c = > c . All ( ) ) . Returns ( mappings ) ;
Subject . GetSceneNames ( 100 , new List < int > { 4 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 5 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 6 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 7 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 20 } , new List < int > { 1 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 20 } , new List < int > { 2 } ) . Should ( ) . NotBeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 20 } , new List < int > { 3 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 20 } , new List < int > { 4 } ) . Should ( ) . BeEmpty ( ) ;
}
[Test]
public void should_return_alternate_title_for_fudanshi ( )
{
var mappings = new List < SceneMapping >
{
new SceneMapping { Title = "Fudanshi Koukou Seikatsu" , ParseTerm = "fudanshikoukouseikatsu" , SearchTerm = "Fudanshi Koukou Seikatsu" , TvdbId = 100 , SeasonNumber = null , SceneSeasonNumber = 1 }
} ;
Mocker . GetMock < ISceneMappingRepository > ( ) . Setup ( c = > c . All ( ) ) . Returns ( mappings ) ;
Subject . GetSceneNames ( 100 , new List < int > { 1 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 2 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 3 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 4 } , new List < int > { 20 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 1 } , new List < int > { 1 } ) . Should ( ) . NotBeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 2 } , new List < int > { 2 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 3 } , new List < int > { 3 } ) . Should ( ) . BeEmpty ( ) ;
Subject . GetSceneNames ( 100 , new List < int > { 4 } , new List < int > { 4 } ) . Should ( ) . BeEmpty ( ) ;
}
private void AssertNoUpdate ( )
{
_provider1 . Verify ( c = > c . GetSceneMappings ( ) , Times . Once ( ) ) ;
@ -216,7 +331,7 @@ namespace NzbDrone.Core.Test.DataAugmentation.Scene
foreach ( var sceneMapping in _fakeMappings )
{
Subject . GetSceneNames BySeasonNumbers ( sceneMapping . TvdbId , _fakeMappings . Select ( m = > m . SeasonNumber . Value ) ) . Should ( ) . Contain ( sceneMapping . SearchTerm ) ;
Subject . GetSceneNames ( sceneMapping . TvdbId , _fakeMappings . Select ( m = > m . SeasonNumber . Value ) . Distinct ( ) . ToList ( ) , new List < int > ( ) ) . Should ( ) . Contain ( sceneMapping . SearchTerm ) ;
Subject . FindTvdbId ( sceneMapping . ParseTerm ) . Should ( ) . Be ( sceneMapping . TvdbId ) ;
}
}