1
0

ClickMapTest.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using Content.Client.Clickable;
  2. using NUnit.Framework;
  3. using SixLabors.ImageSharp;
  4. using SixLabors.ImageSharp.PixelFormats;
  5. namespace Content.Tests.Client
  6. {
  7. [TestFixture]
  8. public sealed class ClickMapTest
  9. {
  10. [Test]
  11. public void TestBasic()
  12. {
  13. var img = new Image<Rgba32>(2, 2)
  14. {
  15. [0, 0] = new(0, 0, 0, 0f),
  16. [1, 0] = new(0, 0, 0, 1f),
  17. [0, 1] = new(0, 0, 0, 1f),
  18. [1, 1] = new(0, 0, 0, 0f)
  19. };
  20. var clickMap = ClickMapManager.ClickMap.FromImage(img, 0.5f);
  21. Assert.That(clickMap.IsOccluded(0, 0), Is.False);
  22. Assert.That(clickMap.IsOccluded(1, 0), Is.True);
  23. Assert.That(clickMap.IsOccluded(0, 1), Is.True);
  24. Assert.That(clickMap.IsOccluded(1, 1), Is.False);
  25. }
  26. [Test]
  27. public void TestThreshold()
  28. {
  29. var img = new Image<Rgba32>(2, 2)
  30. {
  31. [0, 0] = new(0, 0, 0, 0f),
  32. [1, 0] = new(0, 0, 0, 0.25f),
  33. [0, 1] = new(0, 0, 0, 0.75f),
  34. [1, 1] = new(0, 0, 0, 1f)
  35. };
  36. var clickMap = ClickMapManager.ClickMap.FromImage(img, 0.5f);
  37. Assert.That(clickMap.IsOccluded(0, 0), Is.False);
  38. Assert.That(clickMap.IsOccluded(1, 0), Is.False);
  39. Assert.That(clickMap.IsOccluded(0, 1), Is.True);
  40. Assert.That(clickMap.IsOccluded(1, 1), Is.True);
  41. }
  42. }
  43. }