Files
VoxelEngine/VoxelEngine.Tests/ChunkTests.cs

41 lines
905 B
C#

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));
}
}