summaryrefslogtreecommitdiff
path: root/dungeon/tests/bsp.rs
diff options
context:
space:
mode:
Diffstat (limited to 'dungeon/tests/bsp.rs')
-rw-r--r--dungeon/tests/bsp.rs19
1 files changed, 10 insertions, 9 deletions
diff --git a/dungeon/tests/bsp.rs b/dungeon/tests/bsp.rs
index f7919c5..8ec7b3a 100644
--- a/dungeon/tests/bsp.rs
+++ b/dungeon/tests/bsp.rs
@@ -5,12 +5,13 @@ mod tests {
bsp,
map::{self, TILE_COUNT},
pos::Pos,
+ rng::DungeonRng,
};
- use rand::{Rng, SeedableRng, rngs::SmallRng};
+ use rand::{Rng, SeedableRng};
/// Generate a set of test seeds for reproducibility with a seeded RNG
fn generate_test_seeds(seed: u64) -> Vec<u64> {
- let mut rng = SmallRng::seed_from_u64(seed);
+ let mut rng = DungeonRng::seed_from_u64(seed);
// Generate 100 random u64 seeds
(0..100).map(|_| rng.random_range(0..u64::MAX)).collect()
}
@@ -20,7 +21,7 @@ mod tests {
fn test_bsp_integration() {
let test_seeds = generate_test_seeds(123456);
for seed in test_seeds {
- let mut rng = SmallRng::seed_from_u64(seed);
+ let mut rng = DungeonRng::seed_from_u64(seed);
let floor = bsp::generate(&mut rng);
// Basic integration test: ensure we get valid data
assert!(!floor.tiles().is_empty());
@@ -32,7 +33,7 @@ mod tests {
fn test_bsp_player_start() {
let test_seeds = generate_test_seeds(654321);
for seed in test_seeds {
- let mut rng = SmallRng::seed_from_u64(seed);
+ let mut rng = DungeonRng::seed_from_u64(seed);
let floor = bsp::generate(&mut rng);
// Ensure player start is a room tile
let start = floor.player_start();
@@ -45,7 +46,7 @@ mod tests {
fn test_bsp_2_or_more_rooms() {
let test_seeds = generate_test_seeds(111222);
for seed in test_seeds {
- let mut rng = SmallRng::seed_from_u64(seed);
+ let mut rng = DungeonRng::seed_from_u64(seed);
let floor = bsp::generate(&mut rng);
// Ensure we have at least one room tile
let room_count = floor
@@ -65,7 +66,7 @@ mod tests {
fn test_bsp_walls_on_borders() {
let test_seeds = generate_test_seeds(777888);
for seed in test_seeds {
- let mut rng = SmallRng::seed_from_u64(seed);
+ let mut rng = DungeonRng::seed_from_u64(seed);
let floor = bsp::generate(&mut rng);
// Go through all tiles, and ensure border tiles are walls
for pos in Pos::values() {
@@ -85,8 +86,8 @@ mod tests {
fn test_bsp_reproducibility() {
let test_seeds = generate_test_seeds(111111);
for seed in test_seeds {
- let mut rng1 = SmallRng::seed_from_u64(seed);
- let mut rng2 = SmallRng::seed_from_u64(seed);
+ let mut rng1 = DungeonRng::seed_from_u64(seed);
+ let mut rng2 = DungeonRng::seed_from_u64(seed);
let floor1 = bsp::generate(&mut rng1);
let floor2 = bsp::generate(&mut rng2);
assert_eq!(
@@ -113,7 +114,7 @@ mod tests {
// Helper function to check that all air tiles are reachable from player start
fn check_air_tiles_reachable(seed: u64) {
- let mut rng = SmallRng::seed_from_u64(seed);
+ let mut rng = DungeonRng::seed_from_u64(seed);
let floor = bsp::generate(&mut rng);
// BFS to find all reachable air tiles