public void ShaftBuilderCutTest() { foreach (var alignment in (ShaftBuilder.ShaftAlignment[])System.Enum.GetValues(typeof(ShaftBuilder.ShaftAlignment))) { var cutRightShaft = new ShaftBuilder(_testChunk) .SetStartingPoint(-Vector2.one, alignment) .AddBoundary(Directions.Right, 0) .AddBoundary(Directions.Left, 0) .Build(); foreach (var extent in cutRightShaft.Extents) { Assert.AreEqual(0, extent.X, $"Failed to cut right for {alignment}, as one extent is at {extent}."); } var cutUpShaft = new ShaftBuilder(_testChunk) .SetStartingPoint(-Vector2.one, alignment) .AddBoundary(Directions.Up, 0) .AddBoundary(Directions.Down, 0) .Build(); foreach (var extent in cutUpShaft.Extents) { Assert.AreEqual(0, extent.Y, $"Failed to cut up for {alignment}, as one extent is at {extent}."); } var cutLeftShaft = new ShaftBuilder(_testChunk) .SetStartingPoint(Vector2.one, alignment) .AddBoundary(Directions.Left, 0) .AddBoundary(Directions.Right, 0) .Build(); foreach (var extent in cutLeftShaft.Extents) { Assert.AreEqual(0, extent.X, $"Failed to cut left for {alignment}, as one extent is at {extent}."); } var cutDownShaft = new ShaftBuilder(_testChunk) .SetStartingPoint(Vector2.one, alignment) .AddBoundary(Directions.Down, 0) .AddBoundary(Directions.Up, 0) .Build(); foreach (var extent in cutDownShaft.Extents) { Assert.AreEqual(0, extent.Y, $"Failed to cut down for {alignment}, as one extent is at {extent}."); } } }
public void ShaftBuilderResizeTest() { foreach (var alignment in (ShaftBuilder.ShaftAlignment[])System.Enum.GetValues(typeof(ShaftBuilder.ShaftAlignment))) { var setHeightShaft = new ShaftBuilder(_testChunk) .SetHeight(10) .Build() as Shaft; Assert.AreEqual(10, setHeightShaft.Height, $"Shaft height was not as expected for alignment {alignment}."); var setLengthShaft = new ShaftBuilder(_testChunk) .SetWidth(10) .Build() as Shaft; Assert.AreEqual(10, setLengthShaft.Width, $"Shaft length was not as expected for alignment {alignment}."); } }
public void ShaftGetBlockTest() { var shaft = new ShaftBuilder(_testChunk) .Build() as Shaft; for (var x = shaft.BottomLeftCorner.X; x <= shaft.TopRightCorner.X; x++) { for (var y = shaft.BottomLeftCorner.Y; y <= shaft.TopRightCorner.Y; y++) { var block = shaft.GetBlockType(new IntVector2(x, y)); if (y == shaft.TopRightCorner.Y) { Assert.AreNotEqual(BlockTypes.None, block, $"Didn't find a block at [{x},{y}]."); } else { Assert.AreEqual(BlockTypes.None, block, $"Found the wrong block at [{x},{y}]."); } } } }