public async Task KnownForConverter_Movie() { JsonSerializerSettings settings = new JsonSerializerSettings(); settings.Converters.Add(new KnownForConverter()); KnownForMovie original = new KnownForMovie(); original.OriginalTitle = "Hello world"; string json = JsonConvert.SerializeObject(original, settings); KnownForMovie result = (KnownForMovie)JsonConvert.DeserializeObject <KnownForBase>(json, settings); Assert.NotNull(result); Assert.Equal(original.Title, result.Title); }
public async Task KnownForConverter_Movie() { KnownForMovie original = new KnownForMovie(); original.OriginalTitle = "Hello world"; string json = Serializer.SerializeToString(original); KnownForMovie result = Serializer.DeserializeFromString <KnownForBase>(json) as KnownForMovie; Assert.Equal(original.Title, result.Title); await Verify(new { json, result }); }
public async Task <EmbedBuilder> SearchPerson(string name) { var embed = new EmbedBuilder(); SearchContainer <SearchPerson> results = await Client.SearchPersonAsync(name); Console.WriteLine($"Got { results.Results.Count } results returned"); SearchPerson result; try { result = results.Results.Where(w => w.Name.ToLower() == name.ToLower()).First(); } catch (Exception e) { return(new EmbedBuilder().WithTitle("No person found. Please try a different search term or people")); } var builder = new EmbedBuilder(); var sb = new StringBuilder(); for (var i = 0; i < result.KnownFor.Count; i++) { KnownForMovie known = (KnownForMovie)result.KnownFor[i]; if (i != result.KnownFor.Count - 1) { sb.Append(known.Title + ", "); } else { sb.Append(known.Title); } } builder.AddInlineField("Name", result.Name); builder.AddInlineField("Known For", sb.ToString()); builder.AddInlineField("URL", $"https://www.themoviedb.org/person/{result.Id}-{result.Name.Replace(" ", "-")}language=en-US"); builder.WithImageUrl($"https://image.tmdb.org/t/p/w92{result.ProfilePath}"); return(builder); }