public void Test_TraktSyncRecommendationsPost_Default_Constructor() { var syncRecommendationsPost = new TraktSyncRecommendationsPost(); syncRecommendationsPost.Movies.Should().BeNull(); syncRecommendationsPost.Shows.Should().BeNull(); }
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); }
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))); }
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}}]}"); }