public async Task Test_CrewObjectJsonWriter_WriteObject_JsonWriter_Exceptions()
 {
     var         traktJsonWriter = new CrewObjectJsonWriter();
     ITraktCrew  traktCrew       = new TraktCrew();
     Func <Task> action          = () => traktJsonWriter.WriteObjectAsync(default(JsonTextWriter), traktCrew);
     await action.Should().ThrowAsync <ArgumentNullException>();
 }
示例#2
0
        public void Test_CrewObjectJsonWriter_WriteObject_StringWriter_Exceptions()
        {
            var                   traktJsonWriter = new CrewObjectJsonWriter();
            ITraktCrew            traktCrew       = new TraktCrew();
            Func <Task <string> > action          = () => traktJsonWriter.WriteObjectAsync(default(StringWriter), traktCrew);

            action.Should().Throw <ArgumentNullException>();
        }
示例#3
0
        public async Task Test_CrewObjectJsonWriter_WriteObject_StringWriter_Empty()
        {
            ITraktCrew traktCrew = new TraktCrew();

            using (var stringWriter = new StringWriter())
            {
                var    traktJsonWriter = new CrewObjectJsonWriter();
                string json            = await traktJsonWriter.WriteObjectAsync(stringWriter, traktCrew);

                json.Should().Be(@"{}");
            }
        }
        public async Task Test_CrewObjectJsonWriter_WriteObject_JsonWriter_Empty()
        {
            ITraktCrew traktCrew = new TraktCrew();

            using (var stringWriter = new StringWriter())
                using (var jsonWriter = new JsonTextWriter(stringWriter))
                {
                    var traktJsonWriter = new CrewObjectJsonWriter();
                    await traktJsonWriter.WriteObjectAsync(jsonWriter, traktCrew);

                    stringWriter.ToString().Should().Be(@"{}");
                }
        }
        public async Task Test_CrewObjectJsonWriter_WriteObject_JsonWriter_Only_Art_Property()
        {
            ITraktCrew traktCrew = new TraktCrew
            {
                Art = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Art Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                }
            };

            using (var stringWriter = new StringWriter())
                using (var jsonWriter = new JsonTextWriter(stringWriter))
                {
                    var traktJsonWriter = new CrewObjectJsonWriter();
                    await traktJsonWriter.WriteObjectAsync(jsonWriter, traktCrew);

                    stringWriter.ToString().Should().Be(@"{""art"":[{""jobs"":[""Art Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]}");
                }
        }
示例#6
0
        public async Task Test_CrewObjectJsonWriter_WriteObject_StringWriter_Only_CostumeAndMakeup_Property()
        {
            ITraktCrew traktCrew = new TraktCrew
            {
                CostumeAndMakeup = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "CostumeAndMakeup Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                }
            };

            using (var stringWriter = new StringWriter())
            {
                var    traktJsonWriter = new CrewObjectJsonWriter();
                string json            = await traktJsonWriter.WriteObjectAsync(stringWriter, traktCrew);

                json.Should().Be(@"{""costume & make-up"":[{""jobs"":[""CostumeAndMakeup Member""]," +
                                 @"""person"":{""name"":""Bryan Cranston""," +
                                 @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                 @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]}");
            }
        }
        public async Task Test_CrewObjectJsonWriter_WriteObject_JsonWriter_Complete()
        {
            ITraktCrew traktCrew = new TraktCrew
            {
                Production = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Production Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Art = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Art Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Crew = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Crew Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                CostumeAndMakeup = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "CostumeAndMakeup Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Directing = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Directing Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Writing = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Writing Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Sound = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Sound Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Camera = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Camera Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Lighting = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Lighting Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                VisualEffects = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "VisualEffects Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                },
                Editing = new List <TraktCrewMember>
                {
                    new TraktCrewMember
                    {
                        Jobs = new List <string>
                        {
                            "Editing Member"
                        },
                        Person = new TraktPerson
                        {
                            Name = "Bryan Cranston",
                            Ids  = new TraktPersonIds
                            {
                                Trakt  = 297737U,
                                Slug   = "bryan-cranston",
                                Imdb   = "nm0186505",
                                Tmdb   = 17419U,
                                TvRage = 1797U
                            }
                        }
                    }
                }
            };

            using (var stringWriter = new StringWriter())
                using (var jsonWriter = new JsonTextWriter(stringWriter))
                {
                    var traktJsonWriter = new CrewObjectJsonWriter();
                    await traktJsonWriter.WriteObjectAsync(jsonWriter, traktCrew);

                    stringWriter.ToString().Should().Be(@"{""production"":[{""jobs"":[""Production Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""art"":[{""jobs"":[""Art Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""crew"":[{""jobs"":[""Crew Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""costume & make-up"":[{""jobs"":[""CostumeAndMakeup Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""directing"":[{""jobs"":[""Directing Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""writing"":[{""jobs"":[""Writing Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""sound"":[{""jobs"":[""Sound Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""camera"":[{""jobs"":[""Camera Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""lighting"":[{""jobs"":[""Lighting Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""visual effects"":[{""jobs"":[""VisualEffects Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]," +
                                                        @"""editing"":[{""jobs"":[""Editing Member""]," +
                                                        @"""person"":{""name"":""Bryan Cranston""," +
                                                        @"""ids"":{""trakt"":297737,""slug"":""bryan-cranston""," +
                                                        @"""imdb"":""nm0186505"",""tmdb"":17419,""tvrage"":1797}}}]}");
                }
        }
示例#8
0
 public async Task Test_CrewObjectJsonWriter_WriteObject_Object_Exceptions()
 {
     var traktJsonWriter          = new CrewObjectJsonWriter();
     Func <Task <string> > action = () => traktJsonWriter.WriteObjectAsync(default);