public void HorizontalSplitBottomXMaxInsideRect()
        {
            var rand     = new System.Random();
            var rootNode = new Stealcase.Generators.Procedural.BSP.Node(new RectInt(new Vector2Int(0, 0), new Vector2Int(10, 10)), 0, null, 0, 3, 5, 2, 0, rand);
            var tup      = rootNode.SplitHorizontally();
            var left     = tup.Item1;
            var right    = tup.Item2;

            Assert.AreEqual(rootNode.Rect.xMax, left.xMax);
        }
        public void HorizontalSplitBottomMinInsideNode()
        {
            var rand     = new System.Random();
            var rootNode = new Stealcase.Generators.Procedural.BSP.Node(new RectInt(new Vector2Int(0, 0), new Vector2Int(10, 10)), 0, null, 0, 3, 5, 2, 0, rand);
            var tup      = rootNode.SplitHorizontally();
            var left     = tup.Item1;
            var right    = tup.Item2;

            Assert.IsTrue(rootNode.Rect.Contains(left.min));
        }
        public void HorizontalSplitLocationSymmetry()
        {
            var rand     = new System.Random();
            var rootNode = new Stealcase.Generators.Procedural.BSP.Node(new RectInt(new Vector2Int(0, 0), new Vector2Int(10, 10)), 0, null, 0, 3, 5, 2, 0, rand);
            var tup      = rootNode.SplitHorizontally();
            var left     = tup.Item1;
            var right    = tup.Item2;

            Assert.AreEqual(left.yMax, right.yMin);
        }
        public void HorizontalSplitBothRoomsBiggerThanMinSize()
        {
            var rand     = new System.Random();
            var minSize  = 3;
            var rootNode = new Stealcase.Generators.Procedural.BSP.Node(new RectInt(new Vector2Int(0, 0), new Vector2Int(10, 10)), 0, null, 0, minSize, 5, 2, 0, rand);
            var tup      = rootNode.SplitHorizontally();
            var left     = tup.Item1;
            var right    = tup.Item2;

            Assert.IsTrue(left.width >= minSize && right.width >= minSize && left.height >= minSize && right.height > minSize);
        }