public async Task Test_GenreObjectJsonWriter_WriteObject_StringWriter_Exceptions()
 {
     var                   traktJsonWriter = new GenreObjectJsonWriter();
     ITraktGenre           traktGenre      = new TraktGenre();
     Func <Task <string> > action          = () => traktJsonWriter.WriteObjectAsync(default(StringWriter), traktGenre);
     await action.Should().ThrowAsync <ArgumentNullException>();
 }
コード例 #2
0
ファイル: TraktGenre_Tests.cs プロジェクト: MCs88/Trakt.NET
        public void Test_TraktGenre_Default_Constructor()
        {
            var traktGenre = new TraktGenre();

            traktGenre.Name.Should().BeNull();
            traktGenre.Slug.Should().BeNull();
            traktGenre.Type.Should().BeNull();
        }
コード例 #3
0
        public void Test_GenreObjectJsonWriter_WriteObject_JsonWriter_Exceptions()
        {
            var         traktJsonWriter = new GenreObjectJsonWriter();
            ITraktGenre traktGenre      = new TraktGenre();
            Func <Task> action          = () => traktJsonWriter.WriteObjectAsync(default(JsonTextWriter), traktGenre);

            action.Should().Throw <ArgumentNullException>();
        }
コード例 #4
0
        public void TestTraktGenreDefaultConstructor()
        {
            var genre = new TraktGenre();

            genre.Name.Should().BeNullOrEmpty();
            genre.Slug.Should().BeNullOrEmpty();
            genre.Type.Should().BeNull();
        }
コード例 #5
0
        public async Task Test_GenreObjectJsonWriter_WriteObject_Object_Only_Slug_Property()
        {
            ITraktGenre traktGenre = new TraktGenre
            {
                Slug = "genre slug"
            };

            var    traktJsonWriter = new GenreObjectJsonWriter();
            string json            = await traktJsonWriter.WriteObjectAsync(traktGenre);

            json.Should().Be(@"{""slug"":""genre slug""}");
        }
コード例 #6
0
        public async Task Test_GenreObjectJsonWriter_WriteObject_Object_Complete()
        {
            ITraktGenre traktGenre = new TraktGenre
            {
                Name = "genre name",
                Slug = "genre slug"
            };

            var    traktJsonWriter = new GenreObjectJsonWriter();
            string json            = await traktJsonWriter.WriteObjectAsync(traktGenre);

            json.Should().Be(@"{""name"":""genre name"",""slug"":""genre slug""}");
        }
コード例 #7
0
        public async Task Test_GenreObjectJsonWriter_WriteObject_StringWriter_Only_Name_Property()
        {
            ITraktGenre traktGenre = new TraktGenre
            {
                Name = "genre name"
            };

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

                json.Should().Be(@"{""name"":""genre name""}");
            }
        }
コード例 #8
0
        public async Task Test_GenreObjectJsonWriter_WriteObject_JsonWriter_Only_Slug_Property()
        {
            ITraktGenre traktGenre = new TraktGenre
            {
                Slug = "genre slug"
            };

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

                    stringWriter.ToString().Should().Be(@"{""slug"":""genre slug""}");
                }
        }
コード例 #9
0
        public async Task Test_GenreObjectJsonWriter_WriteObject_JsonWriter_Complete()
        {
            ITraktGenre traktGenre = new TraktGenre
            {
                Name = "genre name",
                Slug = "genre slug"
            };

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

                    stringWriter.ToString().Should().Be(@"{""name"":""genre name"",""slug"":""genre slug""}");
                }
        }
コード例 #10
0
        public override async Task <ITraktGenre> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default)
        {
            if (jsonReader == null)
            {
                return(await Task.FromResult(default(ITraktGenre)));
            }

            if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject)
            {
                ITraktGenre traktGenre = new TraktGenre();

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

                    switch (propertyName)
                    {
                    case JsonProperties.GENRE_PROPERTY_NAME_NAME:
                        traktGenre.Name = await jsonReader.ReadAsStringAsync(cancellationToken);

                        break;

                    case JsonProperties.GENRE_PROPERTY_NAME_SLUG:
                        traktGenre.Slug = await jsonReader.ReadAsStringAsync(cancellationToken);

                        break;

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

                        break;
                    }
                }

                return(traktGenre);
            }

            return(await Task.FromResult(default(ITraktGenre)));
        }