using VoxelEngine.World; using Xunit; namespace VoxelEngine.Tests; public class ChunkTests { [Fact] public void Size_Is16() { Assert.Equal(16, Chunk.Size); } [Fact] public void NewChunk_IsAllAir() { var chunk = new Chunk(); Assert.Equal((ushort)0, chunk[0, 0, 0]); Assert.Equal((ushort)0, chunk[15, 15, 15]); } [Fact] public void Indexer_StoresAndReturnsId() { var chunk = new Chunk(); chunk[1, 2, 3] = 7; Assert.Equal((ushort)7, chunk[1, 2, 3]); Assert.Equal((ushort)0, chunk[3, 2, 1]); } [Theory] [InlineData(0, 0, 0, true)] [InlineData(15, 15, 15, true)] [InlineData(-1, 0, 0, false)] [InlineData(0, 16, 0, false)] public void InBounds_ChecksCoordinates(int x, int y, int z, bool expected) { Assert.Equal(expected, Chunk.InBounds(x, y, z)); } }