summaryrefslogtreecommitdiff
path: root/dungeon/tests/bsp_tests.rs
blob: 6bd0153cd92311156393063573903057e7d8ae84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//! Integration Tests for BSP dungeon generation
#[cfg(test)]
mod tests {
	use dungeon::*;

	/// Basic integration test for BSP generation
	#[test]
	fn test_bsp_integration() {
		let seed = 12345u64;
		let (tiles, player_start) = bsp::generate(seed);
		// Basic integration test: ensure we get valid data
		assert!(!tiles.is_empty());
		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);
	}
}