Exemplo n.º 1
0
        public void Test_TraktSyncRecommendationsPost_Default_Constructor()
        {
            var syncRecommendationsPost = new TraktSyncRecommendationsPost();

            syncRecommendationsPost.Movies.Should().BeNull();
            syncRecommendationsPost.Shows.Should().BeNull();
        }
Exemplo n.º 2
0
 public async Task Test_SyncRecommendationsPostObjectJsonWriter_WriteObject_JsonWriter_Exceptions()
 {
     var traktJsonWriter = new SyncRecommendationsPostObjectJsonWriter();
     ITraktSyncRecommendationsPost traktSyncRecommendationsPost = new TraktSyncRecommendationsPost();
     Func <Task> action = () => traktJsonWriter.WriteObjectAsync(default(JsonTextWriter), traktSyncRecommendationsPost);
     await action.Should().ThrowAsync <ArgumentNullException>();
 }
        public ITraktSyncRecommendationsPost Build()
        {
            ITraktSyncRecommendationsPost syncRecommendationsPost = new TraktSyncRecommendationsPost();

            AddMovies(syncRecommendationsPost);
            AddShows(syncRecommendationsPost);
            return(syncRecommendationsPost);
        }
Exemplo n.º 4
0
        public override async Task <ITraktSyncRecommendationsPost> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            CheckJsonTextReader(jsonReader);

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                ITraktSyncRecommendationsPost traktSyncRecommendationsPost = new TraktSyncRecommendationsPost();
                var syncRecommendationsPostMovieArrayJsonReader            = new ArrayJsonReader <ITraktSyncRecommendationsPostMovie>();
                var syncRecommendationsPostShowArrayJsonReader             = new ArrayJsonReader <ITraktSyncRecommendationsPostShow>();

                while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName)
                {
                    var propertyName = jsonReader.Value.ToString();

                    switch (propertyName)
                    {
                    case JsonProperties.PROPERTY_NAME_MOVIES:
                        traktSyncRecommendationsPost.Movies = await syncRecommendationsPostMovieArrayJsonReader.ReadArrayAsync(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.PROPERTY_NAME_SHOWS:
                        traktSyncRecommendationsPost.Shows = await syncRecommendationsPostShowArrayJsonReader.ReadArrayAsync(jsonReader, cancellationToken);

                        break;

                    default:
                        await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken);

                        break;
                    }
                }

                return(traktSyncRecommendationsPost);
            }

            return(await Task.FromResult(default(ITraktSyncRecommendationsPost)));
        }
Exemplo n.º 5
0
        public async Task Test_SyncRecommendationsPostObjectJsonWriter_WriteObject_JsonWriter_Complete()
        {
            ITraktSyncRecommendationsPost traktSyncRecommendationsPost = new TraktSyncRecommendationsPost
            {
                Movies = new List <ITraktSyncRecommendationsPostMovie>
                {
                    new TraktSyncRecommendationsPostMovie
                    {
                        Title = "Batman Begins",
                        Year  = 2005,
                        Ids   = new TraktMovieIds
                        {
                            Trakt = 1,
                            Slug  = "batman-begins-2005",
                            Imdb  = "tt0372784",
                            Tmdb  = 272
                        },
                        Notes = "One of Chritian Bale's most iconic roles."
                    },
                    new TraktSyncRecommendationsPostMovie
                    {
                        Ids = new TraktMovieIds
                        {
                            Imdb = "tt0000111"
                        }
                    }
                },
                Shows = new List <ITraktSyncRecommendationsPostShow>
                {
                    new TraktSyncRecommendationsPostShow
                    {
                        Title = "Breaking Bad",
                        Year  = 2008,
                        Ids   = new TraktShowIds
                        {
                            Trakt = 1,
                            Slug  = "breaking-bad",
                            Tvdb  = 81189,
                            Imdb  = "tt0903747",
                            Tmdb  = 1396
                        },
                        Notes = "I AM THE DANGER!"
                    },
                    new TraktSyncRecommendationsPostShow
                    {
                        Title = "The Walking Dead",
                        Year  = 2010,
                        Ids   = new TraktShowIds
                        {
                            Trakt = 2,
                            Slug  = "the-walking-dead",
                            Tvdb  = 153021,
                            Imdb  = "tt1520211",
                            Tmdb  = 1402
                        }
                    }
                }
            };

            using var stringWriter = new StringWriter();
            using var jsonWriter   = new JsonTextWriter(stringWriter);
            var traktJsonWriter = new SyncRecommendationsPostObjectJsonWriter();
            await traktJsonWriter.WriteObjectAsync(jsonWriter, traktSyncRecommendationsPost);

            stringWriter.ToString().Should().Be(@"{""movies"":[{""title"":""Batman Begins"",""year"":2005," +
                                                @"""ids"":{""trakt"":1,""slug"":""batman-begins-2005""," +
                                                @"""imdb"":""tt0372784"",""tmdb"":272}," +
                                                @"""notes"":""One of Chritian Bale's most iconic roles.""}," +
                                                @"{""ids"":{""trakt"":0,""imdb"":""tt0000111""}}]," +
                                                @"""shows"":[{""title"":""Breaking Bad"",""year"":2008," +
                                                @"""ids"":{""trakt"":1,""slug"":""breaking-bad""," +
                                                @"""tvdb"":81189,""imdb"":""tt0903747"",""tmdb"":1396}," +
                                                @"""notes"":""I AM THE DANGER!""}," +
                                                @"{""title"":""The Walking Dead"",""year"":2010," +
                                                @"""ids"":{""trakt"":2,""slug"":""the-walking-dead""," +
                                                @"""tvdb"":153021,""imdb"":""tt1520211"",""tmdb"":1402}}]}");
        }