コード例 #1
0
        public override async Task <ITraktPostResponseNotFoundPerson> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            if (jsonReader == null)
            {
                return(await Task.FromResult(default(ITraktPostResponseNotFoundPerson)));
            }

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                var personIdsReader = new PersonIdsObjectJsonReader();
                ITraktPostResponseNotFoundPerson postResponseNotFoundPerson = new TraktPostResponseNotFoundPerson();

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

                    switch (propertyName)
                    {
                    case JsonProperties.POST_RESPONSE_NOT_FOUND_PERSON_PROPERTY_NAME_IDS:
                        postResponseNotFoundPerson.Ids = await personIdsReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(postResponseNotFoundPerson);
            }

            return(await Task.FromResult(default(ITraktPostResponseNotFoundPerson)));
        }
コード例 #2
0
        public void Test_PersonIdsObjectJsonReader_ReadObject_From_JsonReader_Null()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();
            Func <Task <ITraktPersonIds> > traktPersonIds = () => traktJsonReader.ReadObjectAsync(default(JsonTextReader));

            traktPersonIds.Should().Throw <ArgumentNullException>();
        }
コード例 #3
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Stream_Null()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

            traktPersonIds.Should().BeNull();
        }
コード例 #4
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Json_String_Empty()
        {
            var jsonReader = new PersonIdsObjectJsonReader();

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

            traktPersonIds.Should().BeNull();
        }
コード例 #5
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Stream_Empty()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                traktPersonIds.Should().BeNull();
            }
        }
コード例 #6
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_JsonReader_Empty()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                    traktPersonIds.Should().BeNull();
                }
        }
コード例 #7
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Json_String_Incomplete_10()
        {
            var jsonReader = new PersonIdsObjectJsonReader();

            var traktPersonIds = await jsonReader.ReadObjectAsync(JSON_INCOMPLETE_10);

            traktPersonIds.Should().NotBeNull();
            traktPersonIds.Trakt.Should().Be(0);
            traktPersonIds.Slug.Should().BeNull();
            traktPersonIds.Imdb.Should().BeNull();
            traktPersonIds.Tmdb.Should().BeNull();
            traktPersonIds.TvRage.Should().Be(1797U);
        }
コード例 #8
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Json_String_Not_Valid_4()
        {
            var jsonReader = new PersonIdsObjectJsonReader();

            var traktPersonIds = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_4);

            traktPersonIds.Should().NotBeNull();
            traktPersonIds.Trakt.Should().Be(297737);
            traktPersonIds.Slug.Should().Be("bryan-cranston");
            traktPersonIds.Imdb.Should().Be("nm0186505");
            traktPersonIds.Tmdb.Should().BeNull();
            traktPersonIds.TvRage.Should().Be(1797U);
        }
コード例 #9
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Json_String_Not_Valid_6()
        {
            var jsonReader = new PersonIdsObjectJsonReader();

            var traktPersonIds = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_6);

            traktPersonIds.Should().NotBeNull();
            traktPersonIds.Trakt.Should().Be(0);
            traktPersonIds.Slug.Should().BeNull();
            traktPersonIds.Imdb.Should().BeNull();
            traktPersonIds.Tmdb.Should().BeNull();
            traktPersonIds.TvRage.Should().BeNull();
        }
コード例 #10
0
        public async Task Test_TraktPersonIds_From_Json()
        {
            var jsonReader = new PersonIdsObjectJsonReader();
            var personIds  = await jsonReader.ReadObjectAsync(JSON) as TraktPersonIds;

            personIds.Should().NotBeNull();
            personIds.Trakt.Should().Be(297737);
            personIds.Slug.Should().Be("bryan-cranston");
            personIds.Imdb.Should().Be("nm0186505");
            personIds.Tmdb.Should().Be(17419U);
            personIds.TvRage.Should().Be(1797U);
            personIds.HasAnyId.Should().BeTrue();
        }
コード例 #11
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Json_String_Incomplete_5()
        {
            var jsonReader = new PersonIdsObjectJsonReader();

            var traktPersonIds = await jsonReader.ReadObjectAsync(JSON_INCOMPLETE_5);

            traktPersonIds.Should().NotBeNull();
            traktPersonIds.Trakt.Should().Be(297737);
            traktPersonIds.Slug.Should().Be("bryan-cranston");
            traktPersonIds.Imdb.Should().Be("nm0186505");
            traktPersonIds.Tmdb.Should().Be(17419U);
            traktPersonIds.TvRage.Should().BeNull();
        }
コード例 #12
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Stream_Incomplete_10()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

            using (var stream = JSON_INCOMPLETE_10.ToStream())
            {
                var traktPersonIds = await traktJsonReader.ReadObjectAsync(stream);

                traktPersonIds.Should().NotBeNull();
                traktPersonIds.Trakt.Should().Be(0);
                traktPersonIds.Slug.Should().BeNull();
                traktPersonIds.Imdb.Should().BeNull();
                traktPersonIds.Tmdb.Should().BeNull();
                traktPersonIds.TvRage.Should().Be(1797U);
            }
        }
コード例 #13
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Stream_Not_Valid_5()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                traktPersonIds.Should().NotBeNull();
                traktPersonIds.Trakt.Should().Be(297737);
                traktPersonIds.Slug.Should().Be("bryan-cranston");
                traktPersonIds.Imdb.Should().Be("nm0186505");
                traktPersonIds.Tmdb.Should().Be(17419U);
                traktPersonIds.TvRage.Should().BeNull();
            }
        }
コード例 #14
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Stream_Not_Valid_6()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

            using (var stream = JSON_NOT_VALID_6.ToStream())
            {
                var traktPersonIds = await traktJsonReader.ReadObjectAsync(stream);

                traktPersonIds.Should().NotBeNull();
                traktPersonIds.Trakt.Should().Be(0);
                traktPersonIds.Slug.Should().BeNull();
                traktPersonIds.Imdb.Should().BeNull();
                traktPersonIds.Tmdb.Should().BeNull();
                traktPersonIds.TvRage.Should().BeNull();
            }
        }
コード例 #15
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Stream_Incomplete_4()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                traktPersonIds.Should().NotBeNull();
                traktPersonIds.Trakt.Should().Be(297737);
                traktPersonIds.Slug.Should().Be("bryan-cranston");
                traktPersonIds.Imdb.Should().Be("nm0186505");
                traktPersonIds.Tmdb.Should().BeNull();
                traktPersonIds.TvRage.Should().Be(1797U);
            }
        }
コード例 #16
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_JsonReader_Incomplete_4()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                    traktPersonIds.Should().NotBeNull();
                    traktPersonIds.Trakt.Should().Be(297737);
                    traktPersonIds.Slug.Should().Be("bryan-cranston");
                    traktPersonIds.Imdb.Should().Be("nm0186505");
                    traktPersonIds.Tmdb.Should().BeNull();
                    traktPersonIds.TvRage.Should().Be(1797U);
                }
        }
コード例 #17
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_JsonReader_Not_Valid_6()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                    traktPersonIds.Should().NotBeNull();
                    traktPersonIds.Trakt.Should().Be(0);
                    traktPersonIds.Slug.Should().BeNull();
                    traktPersonIds.Imdb.Should().BeNull();
                    traktPersonIds.Tmdb.Should().BeNull();
                    traktPersonIds.TvRage.Should().BeNull();
                }
        }
コード例 #18
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_JsonReader_Not_Valid_5()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                    traktPersonIds.Should().NotBeNull();
                    traktPersonIds.Trakt.Should().Be(297737);
                    traktPersonIds.Slug.Should().Be("bryan-cranston");
                    traktPersonIds.Imdb.Should().Be("nm0186505");
                    traktPersonIds.Tmdb.Should().Be(17419U);
                    traktPersonIds.TvRage.Should().BeNull();
                }
        }
コード例 #19
0
        public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_JsonReader_Incomplete_9()
        {
            var traktJsonReader = new PersonIdsObjectJsonReader();

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

                    traktPersonIds.Should().NotBeNull();
                    traktPersonIds.Trakt.Should().Be(0);
                    traktPersonIds.Slug.Should().BeNull();
                    traktPersonIds.Imdb.Should().BeNull();
                    traktPersonIds.Tmdb.Should().Be(17419U);
                    traktPersonIds.TvRage.Should().BeNull();
                }
        }
コード例 #20
0
 public async Task Test_PersonIdsObjectJsonReader_ReadObject_From_Stream_Null()
 {
     var traktJsonReader = new PersonIdsObjectJsonReader();
     Func <Task <ITraktPersonIds> > traktPersonIds = () => traktJsonReader.ReadObjectAsync(default(Stream));
     await traktPersonIds.Should().ThrowAsync <ArgumentNullException>();
 }