public void Test_MetadataObjectJsonReader_ReadObject_From_JsonReader_Null()
        {
            var traktJsonReader = new MetadataObjectJsonReader();
            Func <Task <ITraktMetadata> > traktMetadata = () => traktJsonReader.ReadObjectAsync(default(JsonTextReader));

            traktMetadata.Should().Throw <ArgumentNullException>();
        }
Esempio n. 2
0
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_JsonReader_Null()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

            var traktMetadata = await traktJsonReader.ReadObjectAsync(default(JsonTextReader));

            traktMetadata.Should().BeNull();
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Json_String_Empty()
        {
            var jsonReader = new MetadataObjectJsonReader();

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

            traktMetadata.Should().BeNull();
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Stream_Empty()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

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

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                var movieObjectReader    = new MovieObjectJsonReader();
                var metadataObjectReader = new MetadataObjectJsonReader();

                ITraktCollectionMovie traktCollectionMovie = new TraktCollectionMovie();

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

                    switch (propertyName)
                    {
                    case JsonProperties.COLLECTION_MOVIE_PROPERTY_NAME_COLLECTED_AT:
                    {
                        var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken);

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

                        break;
                    }

                    case JsonProperties.COLLECTION_MOVIE_PROPERTY_NAME_MOVIE:
                        traktCollectionMovie.Movie = await movieObjectReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

                    case JsonProperties.COLLECTION_MOVIE_PROPERTY_NAME_METADATA:
                        traktCollectionMovie.Metadata = await metadataObjectReader.ReadObjectAsync(jsonReader, cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(traktCollectionMovie);
            }

            return(await Task.FromResult(default(ITraktCollectionMovie)));
        }
Esempio n. 6
0
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_JsonReader_Empty()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

                    traktMetadata.Should().BeNull();
                }
        }
Esempio n. 7
0
        public async Task Test_TraktMetadata_From_Json()
        {
            var jsonReader    = new MetadataObjectJsonReader();
            var traktMetadata = await jsonReader.ReadObjectAsync(JSON) as TraktMetadata;

            traktMetadata.Should().NotBeNull();
            traktMetadata.MediaType.Should().Be(TraktMediaType.Digital);
            traktMetadata.MediaResolution.Should().Be(TraktMediaResolution.HD_720p);
            traktMetadata.Audio.Should().Be(TraktMediaAudio.AAC);
            traktMetadata.AudioChannels.Should().Be(TraktMediaAudioChannel.Channels_5_1);
            traktMetadata.ThreeDimensional.Should().BeTrue();
        }
Esempio n. 8
0
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Json_String_Incomplete_5()
        {
            var jsonReader = new MetadataObjectJsonReader();

            var traktMetadata = await jsonReader.ReadObjectAsync(JSON_INCOMPLETE_5);

            traktMetadata.Should().NotBeNull();
            traktMetadata.MediaType.Should().Be(TraktMediaType.Digital);
            traktMetadata.MediaResolution.Should().Be(TraktMediaResolution.HD_720p);
            traktMetadata.Audio.Should().Be(TraktMediaAudio.AAC);
            traktMetadata.AudioChannels.Should().Be(TraktMediaAudioChannel.Channels_5_1);
            traktMetadata.ThreeDimensional.Should().BeNull();
        }
Esempio n. 9
0
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Json_String_Not_Valid_6()
        {
            var jsonReader = new MetadataObjectJsonReader();

            var traktMetadata = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_6);

            traktMetadata.Should().NotBeNull();
            traktMetadata.MediaType.Should().BeNull();
            traktMetadata.MediaResolution.Should().BeNull();
            traktMetadata.Audio.Should().BeNull();
            traktMetadata.AudioChannels.Should().BeNull();
            traktMetadata.ThreeDimensional.Should().BeNull();
        }
Esempio n. 10
0
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Json_String_Incomplete_10()
        {
            var jsonReader = new MetadataObjectJsonReader();

            var traktMetadata = await jsonReader.ReadObjectAsync(JSON_INCOMPLETE_10);

            traktMetadata.Should().NotBeNull();
            traktMetadata.MediaType.Should().BeNull();
            traktMetadata.MediaResolution.Should().BeNull();
            traktMetadata.Audio.Should().BeNull();
            traktMetadata.AudioChannels.Should().BeNull();
            traktMetadata.ThreeDimensional.Should().BeTrue();
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Json_String_Not_Valid_6()
        {
            var jsonReader = new MetadataObjectJsonReader();

            var traktMetadata = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_6);

            traktMetadata.Should().NotBeNull();
            traktMetadata.MediaType.Should().Be(TraktMediaType.Digital);
            traktMetadata.MediaResolution.Should().Be(TraktMediaResolution.HD_720p);
            traktMetadata.Audio.Should().Be(TraktMediaAudio.AAC);
            traktMetadata.AudioChannels.Should().Be(TraktMediaAudioChannel.Channels_5_1);
            traktMetadata.HDR.Should().Be(TraktMediaHDR.DolbyVision);
            traktMetadata.ThreeDimensional.Should().BeNull();
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Stream_Incomplete_4()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

                traktMetadata.Should().NotBeNull();
                traktMetadata.MediaType.Should().Be(TraktMediaType.Digital);
                traktMetadata.MediaResolution.Should().Be(TraktMediaResolution.HD_720p);
                traktMetadata.Audio.Should().Be(TraktMediaAudio.AAC);
                traktMetadata.AudioChannels.Should().BeNull();
                traktMetadata.ThreeDimensional.Should().BeTrue();
            }
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Stream_Not_Valid_6()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

                traktMetadata.Should().NotBeNull();
                traktMetadata.MediaType.Should().BeNull();
                traktMetadata.MediaResolution.Should().BeNull();
                traktMetadata.Audio.Should().BeNull();
                traktMetadata.AudioChannels.Should().BeNull();
                traktMetadata.ThreeDimensional.Should().BeNull();
            }
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Stream_Incomplete_11()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

            using (var stream = JSON_INCOMPLETE_11.ToStream())
            {
                var traktMetadata = await traktJsonReader.ReadObjectAsync(stream);

                traktMetadata.Should().NotBeNull();
                traktMetadata.MediaType.Should().BeNull();
                traktMetadata.MediaResolution.Should().BeNull();
                traktMetadata.Audio.Should().BeNull();
                traktMetadata.AudioChannels.Should().BeNull();
                traktMetadata.HDR.Should().Be(TraktMediaHDR.DolbyVision);
                traktMetadata.ThreeDimensional.Should().BeNull();
            }
        }
Esempio n. 15
0
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_JsonReader_Not_Valid_5()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

                    traktMetadata.Should().NotBeNull();
                    traktMetadata.MediaType.Should().Be(TraktMediaType.Digital);
                    traktMetadata.MediaResolution.Should().Be(TraktMediaResolution.HD_720p);
                    traktMetadata.Audio.Should().Be(TraktMediaAudio.AAC);
                    traktMetadata.AudioChannels.Should().Be(TraktMediaAudioChannel.Channels_5_1);
                    traktMetadata.ThreeDimensional.Should().BeNull();
                }
        }
Esempio n. 16
0
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_JsonReader_Incomplete_3()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

                    traktMetadata.Should().NotBeNull();
                    traktMetadata.MediaType.Should().Be(TraktMediaType.Digital);
                    traktMetadata.MediaResolution.Should().Be(TraktMediaResolution.HD_720p);
                    traktMetadata.Audio.Should().BeNull();
                    traktMetadata.AudioChannels.Should().Be(TraktMediaAudioChannel.Channels_5_1);
                    traktMetadata.ThreeDimensional.Should().BeTrue();
                }
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_Stream_Not_Valid_5()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

                traktMetadata.Should().NotBeNull();
                traktMetadata.MediaType.Should().Be(TraktMediaType.Digital);
                traktMetadata.MediaResolution.Should().Be(TraktMediaResolution.HD_720p);
                traktMetadata.Audio.Should().Be(TraktMediaAudio.AAC);
                traktMetadata.AudioChannels.Should().Be(TraktMediaAudioChannel.Channels_5_1);
                traktMetadata.HDR.Should().BeNull();
                traktMetadata.ThreeDimensional.Should().BeTrue();
            }
        }
        public async Task Test_MetadataObjectJsonReader_ReadObject_From_JsonReader_Incomplete_11()
        {
            var traktJsonReader = new MetadataObjectJsonReader();

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

                    traktMetadata.Should().NotBeNull();
                    traktMetadata.MediaType.Should().BeNull();
                    traktMetadata.MediaResolution.Should().BeNull();
                    traktMetadata.Audio.Should().BeNull();
                    traktMetadata.AudioChannels.Should().BeNull();
                    traktMetadata.HDR.Should().Be(TraktMediaHDR.DolbyVision);
                    traktMetadata.ThreeDimensional.Should().BeNull();
                }
        }
Esempio n. 19
0
 public async Task Test_MetadataObjectJsonReader_ReadObject_From_Stream_Null()
 {
     var traktJsonReader = new MetadataObjectJsonReader();
     Func <Task <ITraktMetadata> > traktMetadata = () => traktJsonReader.ReadObjectAsync(default(Stream));
     await traktMetadata.Should().ThrowAsync <ArgumentNullException>();
 }