public void Test_TraktCalendarMovie_Default_Constructor() { var calendarMovie = new TraktCalendarMovie(); calendarMovie.CalendarRelease.Should().NotHaveValue(); calendarMovie.Movie.Should().BeNull(); calendarMovie.Title.Should().BeNullOrEmpty(); calendarMovie.Year.Should().NotHaveValue(); calendarMovie.Ids.Should().BeNull(); calendarMovie.Tagline.Should().BeNullOrEmpty(); calendarMovie.Overview.Should().BeNullOrEmpty(); calendarMovie.Released.Should().NotHaveValue(); calendarMovie.Runtime.Should().NotHaveValue(); calendarMovie.UpdatedAt.Should().NotHaveValue(); calendarMovie.Trailer.Should().BeNullOrEmpty(); calendarMovie.Homepage.Should().BeNullOrEmpty(); calendarMovie.Rating.Should().NotHaveValue(); calendarMovie.Votes.Should().NotHaveValue(); calendarMovie.LanguageCode.Should().BeNullOrEmpty(); calendarMovie.AvailableTranslationLanguageCodes.Should().BeNull(); calendarMovie.Genres.Should().BeNull(); calendarMovie.Certification.Should().BeNullOrEmpty(); calendarMovie.CountryCode.Should().BeNullOrEmpty(); }
public async Task Test_CalendarMovieObjectJsonWriter_WriteObject_JsonWriter_Exceptions() { var traktJsonWriter = new CalendarMovieObjectJsonWriter(); ITraktCalendarMovie traktCalendarMovie = new TraktCalendarMovie(); Func <Task> action = () => traktJsonWriter.WriteObjectAsync(default(JsonTextWriter), traktCalendarMovie); await action.Should().ThrowAsync <ArgumentNullException>(); }
public void TestTraktCalendarAllMoviesDefaultConstructor() { var allMoviesItem = new TraktCalendarMovie(); allMoviesItem.Released.Should().NotHaveValue(); allMoviesItem.Movie.Should().BeNull(); }
public void Test_CalendarMovieObjectJsonWriter_WriteObject_StringWriter_Exceptions() { var traktJsonWriter = new CalendarMovieObjectJsonWriter(); ITraktCalendarMovie traktCalendarMovie = new TraktCalendarMovie(); Func <Task <string> > action = () => traktJsonWriter.WriteObjectAsync(default(StringWriter), traktCalendarMovie); action.Should().Throw <ArgumentNullException>(); }
public async Task Test_CalendarMovieObjectJsonWriter_WriteObject_StringWriter_Empty() { ITraktCalendarMovie traktCalendarMovie = new TraktCalendarMovie(); using (var stringWriter = new StringWriter()) { var traktJsonWriter = new CalendarMovieObjectJsonWriter(); string json = await traktJsonWriter.WriteObjectAsync(stringWriter, traktCalendarMovie); json.Should().Be("{}"); } }
public async Task Test_CalendarMovieObjectJsonWriter_WriteObject_JsonWriter_Empty() { ITraktCalendarMovie traktCalendarMovie = new TraktCalendarMovie(); using (var stringWriter = new StringWriter()) using (var jsonWriter = new JsonTextWriter(stringWriter)) { var traktJsonWriter = new CalendarMovieObjectJsonWriter(); await traktJsonWriter.WriteObjectAsync(jsonWriter, traktCalendarMovie); stringWriter.ToString().Should().Be("{}"); } }
public async Task Test_CalendarMovieObjectJsonWriter_WriteObject_StringWriter_Only_CalendarRelease_Property() { ITraktCalendarMovie traktCalendarMovie = new TraktCalendarMovie { CalendarRelease = TODAY }; using (var stringWriter = new StringWriter()) { var traktJsonWriter = new CalendarMovieObjectJsonWriter(); string json = await traktJsonWriter.WriteObjectAsync(stringWriter, traktCalendarMovie); json.Should().Be($"{{\"released\":\"{TODAY.ToTraktDateString()}\"}}"); } }
public override async Task <ITraktCalendarMovie> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktCalendarMovie))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var movieObjectReader = new MovieObjectJsonReader(); ITraktCalendarMovie traktCalendarMovie = new TraktCalendarMovie(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.CALENDAR_MOVIE_PROPERTY_NAME_RELEASED: { var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { traktCalendarMovie.CalendarRelease = value.Second; } break; } case JsonProperties.CALENDAR_MOVIE_PROPERTY_NAME_MOVIE: traktCalendarMovie.Movie = await movieObjectReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktCalendarMovie); } return(await Task.FromResult(default(ITraktCalendarMovie))); }
public async Task Test_CalendarMovieObjectJsonWriter_WriteObject_JsonWriter_Only_Movie_Property() { ITraktCalendarMovie traktCalendarMovie = new TraktCalendarMovie { Movie = new TraktMovie { Title = "Star Wars: The Force Awakens", Year = 2015, Ids = new TraktMovieIds { Trakt = 94024U, Slug = "star-wars-the-force-awakens-2015", Imdb = "tt2488496", Tmdb = 140607U }, Tagline = "Every generation has a story.", Overview = "Thirty years after defeating the Galactic Empire, Han Solo and his allies face a new threat from the evil Kylo Ren and his army of Stormtroopers.", Released = RELEASED, Runtime = 136, UpdatedAt = UPDATED_AT, Trailer = "http://youtube.com/watch?v=uwa7N0ShN2U", Homepage = "http://www.starwars.com/films/star-wars-episode-vii", Rating = 8.31988f, Votes = 9338, LanguageCode = "en", AvailableTranslationLanguageCodes = new List <string> { "en", "de", "it" }, Genres = new List <string> { "action", "adventure", "fantasy", "science-fiction" }, Certification = "PG-13", CountryCode = "us", CommentCount = 153 } }; using (var stringWriter = new StringWriter()) using (var jsonWriter = new JsonTextWriter(stringWriter)) { var traktJsonWriter = new CalendarMovieObjectJsonWriter(); await traktJsonWriter.WriteObjectAsync(jsonWriter, traktCalendarMovie); stringWriter.ToString().Should().Be(@"{""movie"":{""title"":""Star Wars: The Force Awakens"",""year"":2015," + @"""ids"":{""trakt"":94024,""slug"":""star-wars-the-force-awakens-2015""," + @"""imdb"":""tt2488496"",""tmdb"":140607}," + @"""tagline"":""Every generation has a story.""," + @"""overview"":""Thirty years after defeating the Galactic Empire, " + @"Han Solo and his allies face a new threat from the evil Kylo Ren and his army of Stormtroopers.""," + $"\"released\":\"{RELEASED.ToTraktDateString()}\"," + @"""runtime"":136,""trailer"":""http://youtube.com/watch?v=uwa7N0ShN2U""," + @"""homepage"":""http://www.starwars.com/films/star-wars-episode-vii""," + @"""rating"":8.31988,""votes"":9338," + $"\"updated_at\":\"{UPDATED_AT.ToTraktLongDateTimeString()}\"," + @"""language"":""en"",""available_translations"":[" + @"""en"",""de"",""it""],""genres"":[""action"",""adventure""," + @"""fantasy"",""science-fiction""]," + @"""certification"":""PG-13"",""country"":""us"",""comment_count"":153}}"); } }