This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2016-07-04 15:02:59 -04:00

58 lines
2.0 KiB
C#

using System;
using TrueCraft.Core.World;
using NUnit.Framework;
using TrueCraft.API;
using TrueCraft.Core.TerrainGen;
using TrueCraft.API.World;
using System.IO;
using System.Reflection;
namespace TrueCraft.Core.Test.World
{
[TestFixture]
public class WorldTest
{
public TrueCraft.Core.World.World World { get; set; }
[TestFixtureSetUp]
public void SetUp()
{
var assemblyDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
World = TrueCraft.Core.World.World.LoadWorld(Path.Combine(assemblyDir, "Files"));
}
[Test]
public void TestMetadataLoaded()
{
// Constants from manifest.nbt
Assert.AreEqual(new Coordinates3D(0, 60, 0), World.SpawnPoint);
Assert.AreEqual(1168393583, World.Seed);
Assert.IsInstanceOf<StandardGenerator>(World.ChunkProvider);
Assert.AreEqual("default", World.Name);
}
[Test]
public void TestFindChunk()
{
var a = World.FindChunk(new Coordinates3D(0, 0, 0));
var b = World.FindChunk(new Coordinates3D(-1, 0, 0));
var c = World.FindChunk(new Coordinates3D(-1, 0, -1));
var d = World.FindChunk(new Coordinates3D(16, 0, 0));
Assert.AreEqual(new Coordinates2D(0, 0), a.Coordinates);
Assert.AreEqual(new Coordinates2D(-1, 0), b.Coordinates);
Assert.AreEqual(new Coordinates2D(-1, -1), c.Coordinates);
Assert.AreEqual(new Coordinates2D(1, 0), d.Coordinates);
}
[Test]
public void TestGetChunk()
{
var a = World.GetChunk(new Coordinates2D(0, 0));
var b = World.GetChunk(new Coordinates2D(1, 0));
var c = World.GetChunk(new Coordinates2D(-1, 0));
Assert.AreEqual(new Coordinates2D(0, 0), a.Coordinates);
Assert.AreEqual(new Coordinates2D(1, 0), b.Coordinates);
Assert.AreEqual(new Coordinates2D(-1, 0), c.Coordinates);
}
}
}