2021-06-09 22:19:39 +02:00
|
|
|
using Content.Client.Clickable;
|
2020-06-16 16:00:19 +02:00
|
|
|
using NUnit.Framework;
|
|
|
|
|
using SixLabors.ImageSharp;
|
|
|
|
|
using SixLabors.ImageSharp.PixelFormats;
|
|
|
|
|
|
|
|
|
|
namespace Content.Tests.Client
|
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
2022-02-16 00:23:23 -07:00
|
|
|
public sealed class ClickMapTest
|
2020-06-16 16:00:19 +02:00
|
|
|
{
|
|
|
|
|
[Test]
|
|
|
|
|
public void TestBasic()
|
|
|
|
|
{
|
|
|
|
|
var img = new Image<Rgba32>(2, 2)
|
|
|
|
|
{
|
2020-11-27 11:00:49 +01:00
|
|
|
[0, 0] = new(0, 0, 0, 0f),
|
|
|
|
|
[1, 0] = new(0, 0, 0, 1f),
|
|
|
|
|
[0, 1] = new(0, 0, 0, 1f),
|
|
|
|
|
[1, 1] = new(0, 0, 0, 0f)
|
2020-06-16 16:00:19 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var clickMap = ClickMapManager.ClickMap.FromImage(img, 0.5f);
|
|
|
|
|
|
|
|
|
|
Assert.That(clickMap.IsOccluded(0, 0), Is.False);
|
|
|
|
|
Assert.That(clickMap.IsOccluded(1, 0), Is.True);
|
|
|
|
|
Assert.That(clickMap.IsOccluded(0, 1), Is.True);
|
|
|
|
|
Assert.That(clickMap.IsOccluded(1, 1), Is.False);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void TestThreshold()
|
|
|
|
|
{
|
|
|
|
|
var img = new Image<Rgba32>(2, 2)
|
|
|
|
|
{
|
2020-11-27 11:00:49 +01:00
|
|
|
[0, 0] = new(0, 0, 0, 0f),
|
|
|
|
|
[1, 0] = new(0, 0, 0, 0.25f),
|
|
|
|
|
[0, 1] = new(0, 0, 0, 0.75f),
|
|
|
|
|
[1, 1] = new(0, 0, 0, 1f)
|
2020-06-16 16:00:19 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var clickMap = ClickMapManager.ClickMap.FromImage(img, 0.5f);
|
|
|
|
|
|
|
|
|
|
Assert.That(clickMap.IsOccluded(0, 0), Is.False);
|
|
|
|
|
Assert.That(clickMap.IsOccluded(1, 0), Is.False);
|
|
|
|
|
Assert.That(clickMap.IsOccluded(0, 1), Is.True);
|
|
|
|
|
Assert.That(clickMap.IsOccluded(1, 1), Is.True);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|