public async Task Two() { var reader = new EpisodeNfoReader(); var stream = new MemoryStream( Encoding.UTF8.GetBytes( @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?> <!--created on whatever - comment--> <episodedetails> <showtitle>show</showtitle> <title>episode-one</title> <episode>1</episode> <season>1</season> </episodedetails> <episodedetails> <showtitle>show</showtitle> <title>episode-two</title> <episode>2</episode> <season>1</season> </episodedetails>")); List <TvShowEpisodeNfo> result = await reader.Read(stream); result.Count.Should().Be(2); result.All(nfo => nfo.ShowTitle == "show").Should().BeTrue(); result.All(nfo => nfo.Season == 1).Should().BeTrue(); result.Count(nfo => nfo.Title == "episode-one" && nfo.Episode == 1).Should().Be(1); result.Count(nfo => nfo.Title == "episode-two" && nfo.Episode == 2).Should().Be(1); }
public async Task Actors() { var reader = new EpisodeNfoReader(); var stream = new MemoryStream( Encoding.UTF8.GetBytes( @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?> <!--created on whatever - comment--> <episodedetails> <actor> <name>Name 1</name> <role>Role 1</role> <thumb>Thumb 1</thumb> </actor> <actor> <name>Name 2</name> <role>Role 2</role> <thumb>Thumb 2</thumb> </actor> </episodedetails>")); List <TvShowEpisodeNfo> result = await reader.Read(stream); result.Count.Should().Be(1); result[0].Actors.Count.Should().Be(2); result[0].Actors.Count(a => a.Name == "Name 1" && a.Role == "Role 1" && a.Thumb == "Thumb 1") .Should().Be(1); result[0].Actors.Count(a => a.Name == "Name 2" && a.Role == "Role 2" && a.Thumb == "Thumb 2") .Should().Be(1); }
public async Task One() { var reader = new EpisodeNfoReader(); var stream = new MemoryStream( Encoding.UTF8.GetBytes( @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?> <!--created on whatever - comment--> <episodedetails> </episodedetails>")); List <TvShowEpisodeNfo> result = await reader.Read(stream); result.Count.Should().Be(1); }
public async Task UniqueIds() { var reader = new EpisodeNfoReader(); var stream = new MemoryStream( Encoding.UTF8.GetBytes( @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?> <!--created on whatever - comment--> <episodedetails> <uniqueid default=""true"" type=""tvdb"">12345</uniqueid> <uniqueid default=""false"" type=""imdb"">tt54321</uniqueid> </episodedetails>")); List <TvShowEpisodeNfo> result = await reader.Read(stream); result.Count.Should().Be(1); result[0].UniqueIds.Count.Should().Be(2); result[0].UniqueIds.Count(id => id.Default && id.Type == "tvdb" && id.Guid == "12345").Should().Be(1); result[0].UniqueIds.Count(id => !id.Default && id.Type == "imdb" && id.Guid == "tt54321").Should().Be(1); }
public async Task ContentRating() { var reader = new EpisodeNfoReader(); var stream = new MemoryStream( Encoding.UTF8.GetBytes( @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?> <!--created on whatever - comment--> <episodedetails> <mpaa>US:Something</mpaa> </episodedetails> <episodedetails> <mpaa>US:Something / US:SomethingElse</mpaa> </episodedetails>")); List <TvShowEpisodeNfo> result = await reader.Read(stream); result.Count.Should().Be(2); result.Count(nfo => nfo.ContentRating == "US:Something").Should().Be(1); result.Count(nfo => nfo.ContentRating == "US:Something / US:SomethingElse").Should().Be(1); }
public async Task Writers() { var reader = new EpisodeNfoReader(); var stream = new MemoryStream( Encoding.UTF8.GetBytes( @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?> <!--created on whatever - comment--> <episodedetails> <credits>Writer 1</credits> </episodedetails> <episodedetails> <credits>Writer 2</credits> <credits>Writer 3</credits> </episodedetails>")); List <TvShowEpisodeNfo> result = await reader.Read(stream); result.Count.Should().Be(2); result.Count(nfo => nfo.Writers.Count == 1 && nfo.Writers[0] == "Writer 1").Should().Be(1); result.Count(nfo => nfo.Writers.Count == 2 && nfo.Writers[0] == "Writer 2" && nfo.Writers[1] == "Writer 3") .Should().Be(1); }