Example #1
0
        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}.");
                }
            }
        }
Example #2
0
        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}.");
            }
        }
Example #3
0
        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}].");
                    }
                }
            }
        }