TilemapTileAnimationFrameTests.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.Collections.Generic;
  2. using Microsoft.Xna.Framework;
  3. using Microsoft.Xna.Framework.Graphics;
  4. using MonoGame.Extended.Tests.Fixtures;
  5. using MonoGame.Extended.Tilemaps;
  6. namespace MonoGame.Extended.Tests
  7. {
  8. [Collection("GraphicsTest")]
  9. public sealed class TilemapTileAnimationFrameTests
  10. {
  11. private readonly GraphicsTestFixture _graphicsFixture;
  12. public TilemapTileAnimationFrameTests(GraphicsTestFixture graphicsTestFixture)
  13. {
  14. _graphicsFixture = graphicsTestFixture;
  15. }
  16. [Fact]
  17. public void Constructor_SetsProperties()
  18. {
  19. var frame = new TilemapTileAnimationFrame(42, 0.5f);
  20. Assert.Equal(42, frame.TileId);
  21. Assert.Equal(0.5f, frame.Duration);
  22. }
  23. [Theory]
  24. [InlineData(0, 0.1f)]
  25. [InlineData(1, 0.5f)]
  26. [InlineData(100, 1.0f)]
  27. [InlineData(255, 2.5f)]
  28. public void Constructor_WithVariousValues_SetsCorrectly(int tileId, float duration)
  29. {
  30. var frame = new TilemapTileAnimationFrame(tileId, duration);
  31. // Assert
  32. Assert.Equal(tileId, frame.TileId);
  33. Assert.Equal(duration, frame.Duration);
  34. }
  35. [Fact]
  36. public void Struct_IsReadOnly()
  37. {
  38. var frame = new TilemapTileAnimationFrame(10, 0.5f);
  39. // Act & Assert
  40. // This test verifies the struct is readonly by checking we can't modify it
  41. // If TileId or Duration had setters, this would fail to compile
  42. Assert.Equal(10, frame.TileId);
  43. Assert.Equal(0.5f, frame.Duration);
  44. }
  45. }
  46. }