UnicodeRangeSegmentTests.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Avalonia.Media;
  2. using Xunit;
  3. namespace Avalonia.Visuals.UnitTests.Media
  4. {
  5. public class UnicodeRangeSegmentTests
  6. {
  7. [InlineData("u+00-FF", 0, 255)]
  8. [InlineData("U+00-FF", 0, 255)]
  9. [InlineData("U+00-U+FF", 0, 255)]
  10. [InlineData("U+AB??", 43776, 44031)]
  11. [Theory]
  12. public void Should_Parse(string s, int expectedStart, int expectedEnd)
  13. {
  14. var segment = UnicodeRangeSegment.Parse(s);
  15. Assert.Equal(expectedStart, segment.Start);
  16. Assert.Equal(expectedEnd, segment.End);
  17. }
  18. [InlineData(0)]
  19. [InlineData(19)]
  20. [InlineData(26)]
  21. [InlineData(100)]
  22. [Theory]
  23. public void InRange_Should_Return_False_For_Values_Outside_Range(int value)
  24. {
  25. var segment = new UnicodeRangeSegment(20, 25);
  26. Assert.Equal(false, segment.IsInRange(value));
  27. }
  28. [InlineData(20)]
  29. [InlineData(21)]
  30. [InlineData(22)]
  31. [Theory]
  32. public void InRange_Should_Return_True_For_Values_Within_Range(int value)
  33. {
  34. var segment = new UnicodeRangeSegment(20, 22);
  35. Assert.Equal(true, segment.IsInRange(value));
  36. }
  37. }
  38. }