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); }