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);
    }