58 lines
1.9 KiB
C#
58 lines
1.9 KiB
C#
using VoxelEngine.Core;
|
|
using Xunit;
|
|
|
|
namespace VoxelEngine.Tests;
|
|
|
|
public class ConfigurationTests
|
|
{
|
|
[Fact]
|
|
public void Defaults_AreSane()
|
|
{
|
|
var c = new Configuration();
|
|
Assert.True(c.RenderDistanceHorizontal >= 1);
|
|
Assert.True(c.RenderDistanceVertical >= 1);
|
|
Assert.True(c.SpawnReadyRadiusHorizontal >= 0);
|
|
Assert.True(c.MaxGenerateJobsInFlight >= 1);
|
|
Assert.True(c.MaxMeshUploadsPerFrame >= 1);
|
|
Assert.True(c.WorkerThreadCount >= 1);
|
|
Assert.True(c.MoveSpeed > 0f);
|
|
Assert.True(c.MouseSensitivity > 0f);
|
|
Assert.InRange(c.Fov, 1f, 179f);
|
|
Assert.True(c.WindowWidth > 0);
|
|
Assert.True(c.WindowHeight > 0);
|
|
Assert.Null(c.Seed);
|
|
}
|
|
|
|
[Fact]
|
|
public void Properties_AreMutable()
|
|
{
|
|
var c = new Configuration { RenderDistanceHorizontal = 4, Seed = 1337 };
|
|
Assert.Equal(4, c.RenderDistanceHorizontal);
|
|
Assert.Equal(1337, c.Seed);
|
|
|
|
var c2 = new Configuration
|
|
{
|
|
RenderDistanceVertical = 2,
|
|
SpawnReadyRadiusHorizontal = 0,
|
|
MaxGenerateJobsInFlight = 2,
|
|
MaxMeshUploadsPerFrame = 1,
|
|
WorkerThreadCount = 2,
|
|
MoveSpeed = 4f,
|
|
MouseSensitivity = 0.5f,
|
|
Fov = 90f,
|
|
WindowWidth = 800,
|
|
WindowHeight = 600,
|
|
};
|
|
Assert.Equal(2, c2.RenderDistanceVertical);
|
|
Assert.Equal(0, c2.SpawnReadyRadiusHorizontal);
|
|
Assert.Equal(2, c2.MaxGenerateJobsInFlight);
|
|
Assert.Equal(1, c2.MaxMeshUploadsPerFrame);
|
|
Assert.Equal(2, c2.WorkerThreadCount);
|
|
Assert.Equal(4f, c2.MoveSpeed);
|
|
Assert.Equal(0.5f, c2.MouseSensitivity);
|
|
Assert.Equal(90f, c2.Fov);
|
|
Assert.Equal(800, c2.WindowWidth);
|
|
Assert.Equal(600, c2.WindowHeight);
|
|
}
|
|
}
|