Ejemplo n.º 1
0
        public async Task Test_RecommendationObjectJsonWriter_Movie_WriteObject_StringWriter_Complete()
        {
            ITraktRecommendation traktRecommendation = new TraktRecommendation
            {
                Rank     = 1,
                ListedAt = LISTED_AT,
                Type     = TraktRecommendationObjectType.Movie,
                Notes    = "Daft Punk really knocks it out of the park on the soundtrack.",
                Movie    = new TraktMovie
                {
                    Title = "TRON: Legacy",
                    Year  = 2010,
                    Ids   = new TraktMovieIds
                    {
                        Trakt = 1U,
                        Slug  = "tron-legacy-2010",
                        Imdb  = "tt1104001",
                        Tmdb  = 20526U
                    }
                }
            };

            using var stringWriter = new StringWriter();

            var    traktJsonWriter = new RecommendationObjectJsonWriter();
            string json            = await traktJsonWriter.WriteObjectAsync(stringWriter, traktRecommendation);

            json.Should().Be(@"{""rank"":1," +
                             $"\"listed_at\":\"{LISTED_AT.ToTraktLongDateTimeString()}\"," +
                             @"""type"":""movie""," +
                             @"""notes"":""Daft Punk really knocks it out of the park on the soundtrack.""," +
                             @"""movie"":{""title"":""TRON: Legacy"",""year"":2010," +
                             @"""ids"":{""trakt"":1,""slug"":""tron-legacy-2010""," +
                             @"""imdb"":""tt1104001"",""tmdb"":20526}}}");
        }
Ejemplo n.º 2
0
        public async Task Test_RecommendationObjectJsonWriter_Show_WriteObject_StringWriter_Only_ListedAt_Property()
        {
            ITraktRecommendation traktRecommendation = new TraktRecommendation
            {
                ListedAt = LISTED_AT
            };

            using var stringWriter = new StringWriter();

            var    traktJsonWriter = new RecommendationObjectJsonWriter();
            string json            = await traktJsonWriter.WriteObjectAsync(stringWriter, traktRecommendation);

            json.Should().Be($"{{\"listed_at\":\"{LISTED_AT.ToTraktLongDateTimeString()}\"}}");
        }
        public async Task Test_RecommendationArrayJsonWriter_WriteArray_StringWriter_SingleObject_Show()
        {
            IEnumerable <ITraktRecommendation> traktRecommendations = new List <ITraktRecommendation>
            {
                new TraktRecommendation
                {
                    Rank     = 1,
                    ListedAt = LISTED_AT,
                    Type     = TraktRecommendationObjectType.Show,
                    Notes    = "Atmospheric for days.",
                    Show     = new TraktShow
                    {
                        Title = "The Walking Dead",
                        Year  = 2010,
                        Ids   = new TraktShowIds
                        {
                            Trakt = 2U,
                            Slug  = "the-walking-dead",
                            Tvdb  = 153021U,
                            Imdb  = "tt1520211",
                            Tmdb  = 1402U
                        }
                    }
                }
            };

            using var stringWriter = new StringWriter();

            var    traktJsonWriter = new ArrayJsonWriter <ITraktRecommendation>();
            string json            = await traktJsonWriter.WriteArrayAsync(stringWriter, traktRecommendations);

            json.Should().Be(@"[{""rank"":1," +
                             $"\"listed_at\":\"{LISTED_AT.ToTraktLongDateTimeString()}\"," +
                             @"""type"":""show""," +
                             @"""notes"":""Atmospheric for days.""," +
                             @"""show"":{""title"":""The Walking Dead"",""year"":2010," +
                             @"""ids"":{""trakt"":2,""slug"":""the-walking-dead""," +
                             @"""tvdb"":153021,""imdb"":""tt1520211"",""tmdb"":1402}}}]");
        }
Ejemplo n.º 4
0
        public async Task Test_RecommendationObjectJsonWriter_Show_WriteObject_JsonWriter_Complete()
        {
            ITraktRecommendation traktRecommendation = new TraktRecommendation
            {
                Rank     = 1,
                ListedAt = LISTED_AT,
                Type     = TraktRecommendationObjectType.Show,
                Notes    = "Atmospheric for days.",
                Show     = new TraktShow
                {
                    Title = "The Walking Dead",
                    Year  = 2010,
                    Ids   = new TraktShowIds
                    {
                        Trakt = 2U,
                        Slug  = "the-walking-dead",
                        Tvdb  = 153021U,
                        Imdb  = "tt1520211",
                        Tmdb  = 1402U
                    }
                }
            };

            using var stringWriter = new StringWriter();
            using var jsonWriter   = new JsonTextWriter(stringWriter);

            var traktJsonWriter = new RecommendationObjectJsonWriter();
            await traktJsonWriter.WriteObjectAsync(jsonWriter, traktRecommendation);

            stringWriter.ToString().Should().Be(@"{""rank"":1," +
                                                $"\"listed_at\":\"{LISTED_AT.ToTraktLongDateTimeString()}\"," +
                                                @"""type"":""show""," +
                                                @"""notes"":""Atmospheric for days.""," +
                                                @"""show"":{""title"":""The Walking Dead"",""year"":2010," +
                                                @"""ids"":{""trakt"":2,""slug"":""the-walking-dead""," +
                                                @"""tvdb"":153021,""imdb"":""tt1520211"",""tmdb"":1402}}}");
        }
        public async Task Test_RecommendationArrayJsonWriter_WriteArray_StringWriter_Complete()
        {
            IEnumerable <ITraktRecommendation> traktRecommendations = new List <ITraktRecommendation>
            {
                new TraktRecommendation
                {
                    Rank     = 1,
                    ListedAt = LISTED_AT,
                    Type     = TraktRecommendationObjectType.Movie,
                    Notes    = "Daft Punk really knocks it out of the park on the soundtrack.",
                    Movie    = new TraktMovie
                    {
                        Title = "TRON: Legacy",
                        Year  = 2010,
                        Ids   = new TraktMovieIds
                        {
                            Trakt = 1U,
                            Slug  = "tron-legacy-2010",
                            Imdb  = "tt1104001",
                            Tmdb  = 20526U
                        }
                    }
                },
                new TraktRecommendation
                {
                    Rank     = 2,
                    ListedAt = LISTED_AT,
                    Type     = TraktRecommendationObjectType.Show,
                    Notes    = "Atmospheric for days.",
                    Show     = new TraktShow
                    {
                        Title = "The Walking Dead",
                        Year  = 2010,
                        Ids   = new TraktShowIds
                        {
                            Trakt = 2U,
                            Slug  = "the-walking-dead",
                            Tvdb  = 153021U,
                            Imdb  = "tt1520211",
                            Tmdb  = 1402U
                        }
                    }
                }
            };

            using var stringWriter = new StringWriter();

            var    traktJsonWriter = new ArrayJsonWriter <ITraktRecommendation>();
            string json            = await traktJsonWriter.WriteArrayAsync(stringWriter, traktRecommendations);

            json.Should().Be(@"[{""rank"":1," +
                             $"\"listed_at\":\"{LISTED_AT.ToTraktLongDateTimeString()}\"," +
                             @"""type"":""movie""," +
                             @"""notes"":""Daft Punk really knocks it out of the park on the soundtrack.""," +
                             @"""movie"":{""title"":""TRON: Legacy"",""year"":2010," +
                             @"""ids"":{""trakt"":1,""slug"":""tron-legacy-2010""," +
                             @"""imdb"":""tt1104001"",""tmdb"":20526}}}," +
                             @"{""rank"":2," +
                             $"\"listed_at\":\"{LISTED_AT.ToTraktLongDateTimeString()}\"," +
                             @"""type"":""show""," +
                             @"""notes"":""Atmospheric for days.""," +
                             @"""show"":{""title"":""The Walking Dead"",""year"":2010," +
                             @"""ids"":{""trakt"":2,""slug"":""the-walking-dead""," +
                             @"""tvdb"":153021,""imdb"":""tt1520211"",""tmdb"":1402}}}]");
        }