public async Task Test_HistoryItemObjectJsonWriter_Movie_WriteObject_JsonWriter_Only_Movie_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                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
                    }
                }
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":0,""movie"":{""title"":""Star Wars: The Force Awakens"",""year"":2015," +
                                                        @"""ids"":{""trakt"":94024,""slug"":""star-wars-the-force-awakens-2015"",""imdb"":""tt2488496"",""tmdb"":140607}}}");
                }
        }
Exemple #2
0
        public async Task Test_HistoryItemObjectJsonWriter_Season_WriteObject_JsonWriter_Complete()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Id        = 1982347UL,
                WatchedAt = WATCHED_AT,
                Action    = TraktHistoryActionType.Checkin,
                Type      = TraktSyncItemType.Season,
                Season    = new TraktSeason
                {
                    Number = 1,
                    Ids    = new TraktSeasonIds
                    {
                        Trakt  = 61430U,
                        Tvdb   = 279121U,
                        Tmdb   = 60523U,
                        TvRage = 36939U
                    }
                }
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":1982347," +
                                                        $"\"watched_at\":\"{WATCHED_AT.ToTraktLongDateTimeString()}\"," +
                                                        @"""action"":""checkin"",""type"":""season""," +
                                                        @"""season"":{""number"":1," +
                                                        @"""ids"":{""trakt"":61430,""tvdb"":279121,""tmdb"":60523,""tvrage"":36939}}}");
                }
        }
        public async Task Test_HistoryItemObjectJsonWriter_Movie_WriteObject_JsonWriter_Complete()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Id        = 1982347UL,
                WatchedAt = WATCHED_AT,
                Action    = TraktHistoryActionType.Checkin,
                Type      = TraktSyncItemType.Movie,
                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
                    }
                }
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":1982347," +
                                                        $"\"watched_at\":\"{WATCHED_AT.ToTraktLongDateTimeString()}\"," +
                                                        @"""action"":""checkin"",""type"":""movie""," +
                                                        @"""movie"":{""title"":""Star Wars: The Force Awakens"",""year"":2015," +
                                                        @"""ids"":{""trakt"":94024,""slug"":""star-wars-the-force-awakens-2015"",""imdb"":""tt2488496"",""tmdb"":140607}}}");
                }
        }
Exemple #4
0
        public async Task Test_HistoryItemObjectJsonWriter_Season_WriteObject_JsonWriter_Only_Season_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Season = new TraktSeason
                {
                    Number = 1,
                    Ids    = new TraktSeasonIds
                    {
                        Trakt  = 61430U,
                        Tvdb   = 279121U,
                        Tmdb   = 60523U,
                        TvRage = 36939U
                    }
                }
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":0,""season"":{""number"":1," +
                                                        @"""ids"":{""trakt"":61430,""tvdb"":279121,""tmdb"":60523,""tvrage"":36939}}}");
                }
        }
Exemple #5
0
 public async Task Test_HistoryItemObjectJsonWriter_WriteObject_JsonWriter_Exceptions()
 {
     var traktJsonWriter = new HistoryItemObjectJsonWriter();
     ITraktHistoryItem traktHistoryItem = new TraktHistoryItem();
     Func <Task>       action           = () => traktJsonWriter.WriteObjectAsync(default(JsonTextWriter), traktHistoryItem);
     await action.Should().ThrowAsync <ArgumentNullException>();
 }
Exemple #6
0
        public void Test_HistoryItemObjectJsonWriter_WriteObject_Object_Exceptions()
        {
            var traktJsonWriter          = new HistoryItemObjectJsonWriter();
            Func <Task <string> > action = () => traktJsonWriter.WriteObjectAsync(default(ITraktHistoryItem));

            action.Should().Throw <ArgumentNullException>();
        }
        public async Task Test_HistoryItemObjectJsonWriter_Episode_WriteObject_StringWriter_Only_Episode_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Episode = new TraktEpisode
                {
                    SeasonNumber = 1,
                    Number       = 1,
                    Title        = "Winter Is Coming",
                    Ids          = new TraktEpisodeIds
                    {
                        Trakt  = 73640U,
                        Tvdb   = 3254641U,
                        Imdb   = "tt1480055",
                        Tmdb   = 63056U,
                        TvRage = 1065008299U
                    }
                }
            };

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

                json.Should().Be(@"{""id"":0,""episode"":{""season"":1,""number"":1,""title"":""Winter Is Coming""," +
                                 @"""ids"":{""trakt"":73640,""tvdb"":3254641,""imdb"":""tt1480055"",""tmdb"":63056,""tvrage"":1065008299}}}");
            }
        }
        public async Task Test_HistoryItemObjectJsonWriter_Episode_WriteObject_StringWriter_Only_Show_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Show = new TraktShow
                {
                    Title = "Game of Thrones",
                    Year  = 2011,
                    Ids   = new TraktShowIds
                    {
                        Trakt  = 1390U,
                        Slug   = "game-of-thrones",
                        Tvdb   = 121361U,
                        Imdb   = "tt0944947",
                        Tmdb   = 1399U,
                        TvRage = 24493U
                    }
                }
            };

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

                json.Should().Be(@"{""id"":0,""show"":{""title"":""Game of Thrones"",""year"":2011," +
                                 @"""ids"":{""trakt"":1390,""slug"":""game-of-thrones"",""tvdb"":121361," +
                                 @"""imdb"":""tt0944947"",""tmdb"":1399,""tvrage"":24493}}}");
            }
        }
Exemple #9
0
        public async Task Test_HistoryItemObjectJsonWriter_Episode_WriteObject_JsonWriter_Complete()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Id        = 1982347UL,
                WatchedAt = WATCHED_AT,
                Action    = TraktHistoryActionType.Checkin,
                Type      = TraktSyncItemType.Episode,
                Episode   = new TraktEpisode
                {
                    SeasonNumber = 1,
                    Number       = 1,
                    Title        = "Winter Is Coming",
                    Ids          = new TraktEpisodeIds
                    {
                        Trakt  = 73640U,
                        Tvdb   = 3254641U,
                        Imdb   = "tt1480055",
                        Tmdb   = 63056U,
                        TvRage = 1065008299U
                    }
                },
                Show = new TraktShow
                {
                    Title = "Game of Thrones",
                    Year  = 2011,
                    Ids   = new TraktShowIds
                    {
                        Trakt  = 1390U,
                        Slug   = "game-of-thrones",
                        Tvdb   = 121361U,
                        Imdb   = "tt0944947",
                        Tmdb   = 1399U,
                        TvRage = 24493U
                    }
                }
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":1982347," +
                                                        $"\"watched_at\":\"{WATCHED_AT.ToTraktLongDateTimeString()}\"," +
                                                        @"""action"":""checkin"",""type"":""episode""," +
                                                        @"""show"":{""title"":""Game of Thrones"",""year"":2011," +
                                                        @"""ids"":{""trakt"":1390,""slug"":""game-of-thrones"",""tvdb"":121361," +
                                                        @"""imdb"":""tt0944947"",""tmdb"":1399,""tvrage"":24493}}," +
                                                        @"""episode"":{""season"":1,""number"":1,""title"":""Winter Is Coming""," +
                                                        @"""ids"":{""trakt"":73640,""tvdb"":3254641,""imdb"":""tt1480055"",""tmdb"":63056,""tvrage"":1065008299}}}");
                }
        }
        public async Task Test_HistoryItemObjectJsonWriter_Episode_WriteObject_StringWriter_Only_Action_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Action = TraktHistoryActionType.Checkin
            };

            using (var stringWriter = new StringWriter())
            {
                var traktJsonWriter = new HistoryItemObjectJsonWriter();
                string json = await traktJsonWriter.WriteObjectAsync(stringWriter, traktHistoryItem);
                json.Should().Be(@"{""id"":0,""action"":""checkin""}");
            }
        }
        public async Task Test_HistoryItemObjectJsonWriter_Episode_WriteObject_StringWriter_Only_Type_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Type = TraktSyncItemType.Episode
            };

            using (var stringWriter = new StringWriter())
            {
                var traktJsonWriter = new HistoryItemObjectJsonWriter();
                string json = await traktJsonWriter.WriteObjectAsync(stringWriter, traktHistoryItem);
                json.Should().Be(@"{""id"":0,""type"":""episode""}");
            }
        }
        public async Task Test_HistoryItemObjectJsonWriter_Episode_WriteObject_StringWriter_Only_WatchedAt_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                WatchedAt = WATCHED_AT
            };

            using (var stringWriter = new StringWriter())
            {
                var traktJsonWriter = new HistoryItemObjectJsonWriter();
                string json = await traktJsonWriter.WriteObjectAsync(stringWriter, traktHistoryItem);
                json.Should().Be($"{{\"id\":0,\"watched_at\":\"{WATCHED_AT.ToTraktLongDateTimeString()}\"}}");
            }
        }
        public async Task Test_HistoryItemObjectJsonWriter_Episode_WriteObject_StringWriter_Only_ID_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Id = 1982347UL
            };

            using (var stringWriter = new StringWriter())
            {
                var traktJsonWriter = new HistoryItemObjectJsonWriter();
                string json = await traktJsonWriter.WriteObjectAsync(stringWriter, traktHistoryItem);
                json.Should().Be(@"{""id"":1982347}");
            }
        }
Exemple #14
0
        public async Task Test_HistoryItemObjectJsonWriter_Show_WriteObject_JsonWriter_Only_Type_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Type = TraktSyncItemType.Show
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":0,""type"":""show""}");
                }
        }
Exemple #15
0
        public async Task Test_HistoryItemObjectJsonWriter_Show_WriteObject_JsonWriter_Only_ID_Property()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Id = 1982347UL
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":1982347}");
                }
        }
Exemple #16
0
        public async Task Test_HistoryItemObjectJsonWriter_Show_WriteObject_JsonWriter_Complete()
        {
            ITraktHistoryItem traktHistoryItem = new TraktHistoryItem
            {
                Id        = 1982347UL,
                WatchedAt = WATCHED_AT,
                Action    = TraktHistoryActionType.Checkin,
                Type      = TraktSyncItemType.Show,
                Show      = new TraktShow
                {
                    Title = "Game of Thrones",
                    Year  = 2011,
                    Ids   = new TraktShowIds
                    {
                        Trakt  = 1390U,
                        Slug   = "game-of-thrones",
                        Tvdb   = 121361U,
                        Imdb   = "tt0944947",
                        Tmdb   = 1399U,
                        TvRage = 24493U
                    }
                }
            };

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

                    stringWriter.ToString().Should().Be(@"{""id"":1982347," +
                                                        $"\"watched_at\":\"{WATCHED_AT.ToTraktLongDateTimeString()}\"," +
                                                        @"""action"":""checkin"",""type"":""show""," +
                                                        @"""show"":{""title"":""Game of Thrones"",""year"":2011," +
                                                        @"""ids"":{""trakt"":1390,""slug"":""game-of-thrones"",""tvdb"":121361," +
                                                        @"""imdb"":""tt0944947"",""tmdb"":1399,""tvrage"":24493}}}");
                }
        }
Exemple #17
0
 public void Test_HistoryItemObjectJsonWriter_Movie_WriteObject_Object_Exceptions()
 {
     var traktJsonWriter          = new HistoryItemObjectJsonWriter();
     Func <Task <string> > action = () => traktJsonWriter.WriteObjectAsync(default);