SpatialHashTests.cs 940 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Xunit;
  4. namespace MonoGame.Extended.Collisions.Tests;
  5. public class SpatialHashTests
  6. {
  7. private SpatialHash generateSpatialHash() => new SpatialHash(new SizeF(64, 64));
  8. private readonly RectangleF RECT = new RectangleF(10, 10, 20, 20);
  9. [Fact]
  10. public void CollisionOneTrueTest()
  11. {
  12. var hash = generateSpatialHash();
  13. hash.Insert(new BasicActor()
  14. {
  15. Bounds = RECT,
  16. });
  17. var collisions = hash.Query(RECT);
  18. Assert.Equal(1, collisions.Count());
  19. }
  20. [Fact]
  21. public void CollisionTwoTest()
  22. {
  23. var hash = generateSpatialHash();
  24. hash.Insert(new BasicActor
  25. {
  26. Bounds = RECT,
  27. });
  28. hash.Insert(new BasicActor
  29. {
  30. Bounds = RECT,
  31. });
  32. var collisions = hash.Query(RECT);
  33. Assert.Equal(2, collisions.Count());
  34. }
  35. }