public override async Task <ITraktUserCustomListItemsPostMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            if (jsonReader == null)
            {
                return(await Task.FromResult(default(ITraktUserCustomListItemsPostMovie)));
            }

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                var movieIdsObjectJsonReader = new MovieIdsObjectJsonReader();
                ITraktUserCustomListItemsPostMovie customListItemsPostMovie = new TraktUserCustomListItemsPostMovie();

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

                    switch (propertyName)
                    {
                    case JsonProperties.USER_CUSTOM_LIST_ITEMS_POST_MOVIE_PROPERTY_NAME_IDS:
                        customListItemsPostMovie.Ids = await movieIdsObjectJsonReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(customListItemsPostMovie);
            }

            return(await Task.FromResult(default(ITraktUserCustomListItemsPostMovie)));
        }
Ejemplo n.º 2
0
        public void Test_MovieIdsObjectJsonReader_ReadObject_From_JsonReader_Null()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();
            Func <Task <ITraktMovieIds> > traktMovieIds = () => traktJsonReader.ReadObjectAsync(default(JsonTextReader));

            traktMovieIds.Should().Throw <ArgumentNullException>();
        }
        public override async Task <ITraktPostResponseNotFoundMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            CheckJsonTextReader(jsonReader);

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                var movieIdsReader = new MovieIdsObjectJsonReader();
                ITraktPostResponseNotFoundMovie postResponseNotFoundMovie = new TraktPostResponseNotFoundMovie();

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

                    switch (propertyName)
                    {
                    case JsonProperties.PROPERTY_NAME_IDS:
                        postResponseNotFoundMovie.Ids = await movieIdsReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(postResponseNotFoundMovie);
            }

            return(await Task.FromResult(default(ITraktPostResponseNotFoundMovie)));
        }
Ejemplo n.º 4
0
        public override async Task <ITraktSyncRatingsPostMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            CheckJsonTextReader(jsonReader);

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                var movieIdsObjectJsonReader = new MovieIdsObjectJsonReader();
                ITraktSyncRatingsPostMovie syncRatingsPostMovie = new TraktSyncRatingsPostMovie();

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

                    switch (propertyName)
                    {
                    case JsonProperties.PROPERTY_NAME_RATED_AT:
                    {
                        Pair <bool, DateTime> value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken);

                        if (value.First)
                        {
                            syncRatingsPostMovie.RatedAt = value.Second;
                        }

                        break;
                    }

                    case JsonProperties.PROPERTY_NAME_RATING:
                        syncRatingsPostMovie.Rating = await jsonReader.ReadAsInt32Async(cancellationToken);

                        break;

                    case JsonProperties.PROPERTY_NAME_TITLE:
                        syncRatingsPostMovie.Title = await jsonReader.ReadAsStringAsync(cancellationToken);

                        break;

                    case JsonProperties.PROPERTY_NAME_YEAR:
                        syncRatingsPostMovie.Year = await jsonReader.ReadAsInt32Async(cancellationToken);

                        break;

                    case JsonProperties.PROPERTY_NAME_IDS:
                        syncRatingsPostMovie.Ids = await movieIdsObjectJsonReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(syncRatingsPostMovie);
            }

            return(await Task.FromResult(default(ITraktSyncRatingsPostMovie)));
        }
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Stream_Null()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await traktJsonReader.ReadObjectAsync(default(Stream));

            traktMovieIds.Should().BeNull();
        }
Ejemplo n.º 6
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Json_String_Empty()
        {
            var jsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await jsonReader.ReadObjectAsync(string.Empty);

            traktMovieIds.Should().BeNull();
        }
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Stream_Empty()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var stream = string.Empty.ToStream())
            {
                var traktMovieIds = await traktJsonReader.ReadObjectAsync(stream);

                traktMovieIds.Should().BeNull();
            }
        }
Ejemplo n.º 8
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Json_String_Incomplete_6()
        {
            var jsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await jsonReader.ReadObjectAsync(JSON_INCOMPLETE_6);

            traktMovieIds.Should().NotBeNull();
            traktMovieIds.Trakt.Should().Be(0);
            traktMovieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
            traktMovieIds.Imdb.Should().BeNull();
            traktMovieIds.Tmdb.Should().BeNull();
        }
Ejemplo n.º 9
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Json_String_Incomplete_5()
        {
            var jsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await jsonReader.ReadObjectAsync(JSON_INCOMPLETE_5);

            traktMovieIds.Should().NotBeNull();
            traktMovieIds.Trakt.Should().Be(94024);
            traktMovieIds.Slug.Should().BeNull();
            traktMovieIds.Imdb.Should().BeNull();
            traktMovieIds.Tmdb.Should().BeNull();
        }
Ejemplo n.º 10
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Json_String_Not_Valid_5()
        {
            var jsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_5);

            traktMovieIds.Should().NotBeNull();
            traktMovieIds.Trakt.Should().Be(0);
            traktMovieIds.Slug.Should().BeNull();
            traktMovieIds.Imdb.Should().BeNull();
            traktMovieIds.Tmdb.Should().BeNull();
        }
Ejemplo n.º 11
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Json_String_Not_Valid_4()
        {
            var jsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_4);

            traktMovieIds.Should().NotBeNull();
            traktMovieIds.Trakt.Should().Be(94024);
            traktMovieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
            traktMovieIds.Imdb.Should().Be("tt2488496");
            traktMovieIds.Tmdb.Should().BeNull();
        }
Ejemplo n.º 12
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Json_String_Not_Valid_2()
        {
            var jsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_2);

            traktMovieIds.Should().NotBeNull();
            traktMovieIds.Trakt.Should().Be(94024);
            traktMovieIds.Slug.Should().BeNull();
            traktMovieIds.Imdb.Should().Be("tt2488496");
            traktMovieIds.Tmdb.Should().Be(140607U);
        }
Ejemplo n.º 13
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Json_String_Complete()
        {
            var jsonReader = new MovieIdsObjectJsonReader();

            var traktMovieIds = await jsonReader.ReadObjectAsync(JSON_COMPLETE);

            traktMovieIds.Should().NotBeNull();
            traktMovieIds.Trakt.Should().Be(94024);
            traktMovieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
            traktMovieIds.Imdb.Should().Be("tt2488496");
            traktMovieIds.Tmdb.Should().Be(140607U);
        }
        public async Task Test_TraktMovieIds_From_Json()
        {
            var jsonReader = new MovieIdsObjectJsonReader();
            var movieIds   = await jsonReader.ReadObjectAsync(JSON) as TraktMovieIds;

            movieIds.Should().NotBeNull();
            movieIds.Trakt.Should().Be(94024);
            movieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
            movieIds.Imdb.Should().Be("tt2488496");
            movieIds.Tmdb.Should().Be(140607U);
            movieIds.HasAnyId.Should().BeTrue();
        }
Ejemplo n.º 15
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_JsonReader_Empty()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var reader = new StringReader(string.Empty))
                using (var jsonReader = new JsonTextReader(reader))
                {
                    var traktMovieIds = await traktJsonReader.ReadObjectAsync(jsonReader);

                    traktMovieIds.Should().BeNull();
                }
        }
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Stream_Incomplete_4()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var stream = JSON_INCOMPLETE_4.ToStream())
            {
                var traktMovieIds = await traktJsonReader.ReadObjectAsync(stream);

                traktMovieIds.Should().NotBeNull();
                traktMovieIds.Trakt.Should().Be(94024);
                traktMovieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
                traktMovieIds.Imdb.Should().Be("tt2488496");
                traktMovieIds.Tmdb.Should().BeNull();
            }
        }
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Stream_Not_Valid_3()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var stream = JSON_NOT_VALID_3.ToStream())
            {
                var traktMovieIds = await traktJsonReader.ReadObjectAsync(stream);

                traktMovieIds.Should().NotBeNull();
                traktMovieIds.Trakt.Should().Be(94024);
                traktMovieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
                traktMovieIds.Imdb.Should().BeNull();
                traktMovieIds.Tmdb.Should().Be(140607U);
            }
        }
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Stream_Not_Valid_5()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var stream = JSON_NOT_VALID_5.ToStream())
            {
                var traktMovieIds = await traktJsonReader.ReadObjectAsync(stream);

                traktMovieIds.Should().NotBeNull();
                traktMovieIds.Trakt.Should().Be(0);
                traktMovieIds.Slug.Should().BeNull();
                traktMovieIds.Imdb.Should().BeNull();
                traktMovieIds.Tmdb.Should().BeNull();
            }
        }
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Stream_Incomplete_8()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var stream = JSON_INCOMPLETE_8.ToStream())
            {
                var traktMovieIds = await traktJsonReader.ReadObjectAsync(stream);

                traktMovieIds.Should().NotBeNull();
                traktMovieIds.Trakt.Should().Be(0);
                traktMovieIds.Slug.Should().BeNull();
                traktMovieIds.Imdb.Should().BeNull();
                traktMovieIds.Tmdb.Should().Be(140607U);
            }
        }
Ejemplo n.º 20
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_JsonReader_Incomplete_4()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var reader = new StringReader(JSON_INCOMPLETE_4))
                using (var jsonReader = new JsonTextReader(reader))
                {
                    var traktMovieIds = await traktJsonReader.ReadObjectAsync(jsonReader);

                    traktMovieIds.Should().NotBeNull();
                    traktMovieIds.Trakt.Should().Be(94024);
                    traktMovieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
                    traktMovieIds.Imdb.Should().Be("tt2488496");
                    traktMovieIds.Tmdb.Should().BeNull();
                }
        }
Ejemplo n.º 21
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_JsonReader_Not_Valid_5()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var reader = new StringReader(JSON_NOT_VALID_5))
                using (var jsonReader = new JsonTextReader(reader))
                {
                    var traktMovieIds = await traktJsonReader.ReadObjectAsync(jsonReader);

                    traktMovieIds.Should().NotBeNull();
                    traktMovieIds.Trakt.Should().Be(0);
                    traktMovieIds.Slug.Should().BeNull();
                    traktMovieIds.Imdb.Should().BeNull();
                    traktMovieIds.Tmdb.Should().BeNull();
                }
        }
Ejemplo n.º 22
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_JsonReader_Not_Valid_3()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var reader = new StringReader(JSON_NOT_VALID_3))
                using (var jsonReader = new JsonTextReader(reader))
                {
                    var traktMovieIds = await traktJsonReader.ReadObjectAsync(jsonReader);

                    traktMovieIds.Should().NotBeNull();
                    traktMovieIds.Trakt.Should().Be(94024);
                    traktMovieIds.Slug.Should().Be("star-wars-the-force-awakens-2015");
                    traktMovieIds.Imdb.Should().BeNull();
                    traktMovieIds.Tmdb.Should().Be(140607U);
                }
        }
Ejemplo n.º 23
0
        public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_JsonReader_Incomplete_8()
        {
            var traktJsonReader = new MovieIdsObjectJsonReader();

            using (var reader = new StringReader(JSON_INCOMPLETE_8))
                using (var jsonReader = new JsonTextReader(reader))
                {
                    var traktMovieIds = await traktJsonReader.ReadObjectAsync(jsonReader);

                    traktMovieIds.Should().NotBeNull();
                    traktMovieIds.Trakt.Should().Be(0);
                    traktMovieIds.Slug.Should().BeNull();
                    traktMovieIds.Imdb.Should().BeNull();
                    traktMovieIds.Tmdb.Should().Be(140607U);
                }
        }
Ejemplo n.º 24
0
        public override async Task <ITraktSyncRecommendationsPostMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            CheckJsonTextReader(jsonReader);

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                ITraktSyncRecommendationsPostMovie traktSyncRecommendationsPostMovie = new TraktSyncRecommendationsPostMovie();
                var movieIdsObjectJsonReader = new MovieIdsObjectJsonReader();

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

                    switch (propertyName)
                    {
                    case JsonProperties.PROPERTY_NAME_TITLE:
                        traktSyncRecommendationsPostMovie.Title = await jsonReader.ReadAsStringAsync(cancellationToken);

                        break;

                    case JsonProperties.PROPERTY_NAME_YEAR:
                        traktSyncRecommendationsPostMovie.Year = await jsonReader.ReadAsInt32Async(cancellationToken);

                        break;

                    case JsonProperties.PROPERTY_NAME_IDS:
                        traktSyncRecommendationsPostMovie.Ids = await movieIdsObjectJsonReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.PROPERTY_NAME_NOTES:
                        traktSyncRecommendationsPostMovie.Notes = await jsonReader.ReadAsStringAsync(cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(traktSyncRecommendationsPostMovie);
            }

            return(await Task.FromResult(default(ITraktSyncRecommendationsPostMovie)));
        }
        public override async Task <ITraktSyncWatchlistPostMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            if (jsonReader == null)
            {
                return(await Task.FromResult(default(ITraktSyncWatchlistPostMovie)));
            }

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                var movieIdsObjectJsonReader = new MovieIdsObjectJsonReader();
                ITraktSyncWatchlistPostMovie syncWatchlistPostMovie = new TraktSyncWatchlistPostMovie();

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

                    switch (propertyName)
                    {
                    case JsonProperties.SYNC_WATCHLIST_POST_MOVIE_PROPERTY_NAME_TITLE:
                        syncWatchlistPostMovie.Title = await jsonReader.ReadAsStringAsync(cancellationToken);

                        break;

                    case JsonProperties.SYNC_WATCHLIST_POST_MOVIE_PROPERTY_NAME_YEAR:
                        syncWatchlistPostMovie.Year = await jsonReader.ReadAsInt32Async(cancellationToken);

                        break;

                    case JsonProperties.SYNC_WATCHLIST_POST_MOVIE_PROPERTY_NAME_IDS:
                        syncWatchlistPostMovie.Ids = await movieIdsObjectJsonReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(syncWatchlistPostMovie);
            }

            return(await Task.FromResult(default(ITraktSyncWatchlistPostMovie)));
        }
        public override async Task <ITraktSyncRatingsPostResponseNotFoundMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            if (jsonReader == null)
            {
                return(await Task.FromResult(default(ITraktSyncRatingsPostResponseNotFoundMovie)));
            }

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                var movieIdsReader = new MovieIdsObjectJsonReader();
                ITraktSyncRatingsPostResponseNotFoundMovie syncRatingsPostResponseNotFoundMovie = new TraktSyncRatingsPostResponseNotFoundMovie();

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

                    switch (propertyName)
                    {
                    case JsonProperties.SYNC_RATINGS_POST_RESPONSE_NOT_FOUND_MOVIE_PROPERTY_NAME_RATING:
                        syncRatingsPostResponseNotFoundMovie.Rating = await jsonReader.ReadAsInt32Async(cancellationToken);

                        break;

                    case JsonProperties.SYNC_RATINGS_POST_RESPONSE_NOT_FOUND_MOVIE_PROPERTY_NAME_IDS:
                        syncRatingsPostResponseNotFoundMovie.Ids = await movieIdsReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(syncRatingsPostResponseNotFoundMovie);
            }

            return(await Task.FromResult(default(ITraktSyncRatingsPostResponseNotFoundMovie)));
        }
Ejemplo n.º 27
0
        public override async Task <ITraktSyncCollectionPostMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            if (jsonReader == null)
            {
                return(await Task.FromResult(default(ITraktSyncCollectionPostMovie)));
            }

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                ITraktSyncCollectionPostMovie traktSyncCollectionPostMovie = new TraktSyncCollectionPostMovie();
                var movieIdsObjectJsonReader = new MovieIdsObjectJsonReader();

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

                    switch (propertyName)
                    {
                    case JsonProperties.SYNC_COLLECTION_POST_MOVIE_PROPERTY_NAME_COLLECTED_AT:
                    {
                        Pair <bool, DateTime> value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken);

                        if (value.First)
                        {
                            traktSyncCollectionPostMovie.CollectedAt = value.Second;
                        }

                        break;
                    }

                    case JsonProperties.SYNC_COLLECTION_POST_MOVIE_PROPERTY_NAME_TITLE:
                        traktSyncCollectionPostMovie.Title = await jsonReader.ReadAsStringAsync(cancellationToken);

                        break;

                    case JsonProperties.SYNC_COLLECTION_POST_MOVIE_PROPERTY_NAME_YEAR:
                        traktSyncCollectionPostMovie.Year = await jsonReader.ReadAsInt32Async(cancellationToken);

                        break;

                    case JsonProperties.SYNC_COLLECTION_POST_MOVIE_PROPERTY_NAME_IDS:
                        traktSyncCollectionPostMovie.Ids = await movieIdsObjectJsonReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.METADATA_PROPERTY_NAME_MEDIA_TYPE:
                        traktSyncCollectionPostMovie.MediaType = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaType>(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.METADATA_PROPERTY_NAME_RESOLUTION:
                        traktSyncCollectionPostMovie.MediaResolution = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaResolution>(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.METADATA_PROPERTY_NAME_AUDIO:
                        traktSyncCollectionPostMovie.Audio = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaAudio>(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.METADATA_PROPERTY_NAME_AUDIO_CHANNELS:
                        traktSyncCollectionPostMovie.AudioChannels = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaAudioChannel>(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.METADATA_PROPERTY_NAME_3D:
                        traktSyncCollectionPostMovie.ThreeDimensional = await jsonReader.ReadAsBooleanAsync(cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(traktSyncCollectionPostMovie);
            }

            return(await Task.FromResult(default(ITraktSyncCollectionPostMovie)));
        }
 public async Task Test_MovieIdsObjectJsonReader_ReadObject_From_Stream_Null()
 {
     var traktJsonReader = new MovieIdsObjectJsonReader();
     Func <Task <ITraktMovieIds> > traktMovieIds = () => traktJsonReader.ReadObjectAsync(default(Stream));
     await traktMovieIds.Should().ThrowAsync <ArgumentNullException>();
 }