summaryrefslogtreecommitdiff
path: root/dungeon/tests/bsp_tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'dungeon/tests/bsp_tests.rs')
-rw-r--r--dungeon/tests/bsp_tests.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/dungeon/tests/bsp_tests.rs b/dungeon/tests/bsp_tests.rs
index 2e3a781..6bd0153 100644
--- a/dungeon/tests/bsp_tests.rs
+++ b/dungeon/tests/bsp_tests.rs
@@ -3,6 +3,7 @@
mod tests {
use dungeon::*;
+ /// Basic integration test for BSP generation
#[test]
fn test_bsp_integration() {
let seed = 12345u64;
@@ -12,4 +13,17 @@ mod tests {
assert!(player_start.x() < map::MAP_SIZE);
assert!(player_start.y() < map::MAP_SIZE);
}
+
+ /// Test that BSP-generated floors have a valid player start
+ #[test]
+ fn test_bsp_player_start() {
+ let seed = 12345u64;
+ let (tiles, player_start) = bsp::generate(seed);
+ // Ensure player start is within bounds
+ assert!(player_start.x() < map::MAP_SIZE);
+ assert!(player_start.y() < map::MAP_SIZE);
+ // Ensure player start is an air tile
+ let idx = player_start.idx();
+ assert_eq!(tiles[idx], map::Tile::Air);
+ }
}