Пример #1
0
        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();
        }
Пример #2
0
 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>();
 }
Пример #3
0
        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("{}");
            }
        }
Пример #6
0
        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()}\"}}");
            }
        }
Пример #8
0
        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)));
        }
Пример #9
0
        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}}");
                }
        }