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 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 VerticalSplitLeftWallCorrect() { 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.SplitVertically(); var bottom = tup.Item1; var top = tup.Item2; Assert.AreEqual(bottom.xMin, rootNode.Rect.xMin); }
public void VerticalSplitTopMinInsideRect() { 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.SplitVertically(); var bottom = tup.Item1; var top = tup.Item2; Assert.IsTrue(rootNode.Rect.Contains(top.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); }
public void VerticalSplitBothRoomsBiggerThanMinSize() { 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.SplitVertically(); var bottom = tup.Item1; var top = tup.Item2; Assert.IsTrue(bottom.width >= minSize && top.width >= minSize && bottom.height >= minSize && top.height > minSize); }