You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Tests.Emotes.cs 1.8 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using Xunit;
  3. namespace Discord
  4. {
  5. public class EmoteTests
  6. {
  7. const string Smiley = "\U0001F603";
  8. const string Man = "\U0001F468";
  9. const string Woman = "\U0001F469";
  10. const string Girl = "\U0001F467";
  11. const string Boy = "\U0001F466";
  12. const string Join = "\u200D";
  13. [Fact]
  14. public void Single_Emoji()
  15. {
  16. Assert.Equal(Smiley, new Emoji(Smiley).Name);
  17. Assert.Equal(Man, new Emoji(Man).Name);
  18. Assert.Equal(Woman, new Emoji(Woman).Name);
  19. Assert.Equal(Girl, new Emoji(Girl).Name);
  20. Assert.Equal(Boy, new Emoji(Boy).Name);
  21. }
  22. [Fact]
  23. public void Multipart_Emoji()
  24. {
  25. string family = string.Concat(Man, Join, Woman, Join, Girl, Join, Boy);
  26. Assert.Equal(family, new Emoji(family).Name);
  27. }
  28. [Fact]
  29. public void Emoji_Fail()
  30. {
  31. Assert.Throws<ArgumentException>(() => new Emoji("foxDab"));
  32. }
  33. [Fact]
  34. public void Emote()
  35. {
  36. Assert.Equal(true, Discord.Emote.TryParse("<:foxDab:280494667093508096>", out var emote));
  37. Assert.NotNull(emote);
  38. Assert.Equal("foxDab", emote.Name);
  39. Assert.Equal(280494667093508096UL, emote.Id);
  40. Assert.Equal(DateTimeOffset.FromUnixTimeMilliseconds(1486945539974), emote.CreatedAt);
  41. }
  42. [Fact]
  43. public void Emote_Parse_Fail()
  44. {
  45. Assert.Equal(false, Discord.Emote.TryParse("", out _));
  46. Assert.Equal(false, Discord.Emote.TryParse(":foxDab", out _));
  47. Assert.Equal(false, Discord.Emote.TryParse(":foxDab:", out _));
  48. Assert.Throws<ArgumentException>(() => Discord.Emote.Parse(":foxDab:"));
  49. }
  50. }
  51. }