//! Pre-built test scenarios for integration tests //! //! These fixtures represent common complex scenarios used across multiple tests. //! They are lazily initialized on first use. use once_cell::sync::Lazy; use std::sync::Arc; use super::builders::MapBuilder; use borders_core::prelude::*; /// Standard 100x100 plains map (all conquerable) pub static PLAINS_MAP: Lazy> = Lazy::new(|| Arc::new(MapBuilder::new(100, 100).all_conquerable().build())); /// Island archipelago map: 50x50 islands separated by water pub static ISLAND_MAP: Lazy> = Lazy::new(|| Arc::new(MapBuilder::new(100, 100).islands().build())); /// Continental map: vertical strips of land and water pub static CONTINENT_MAP: Lazy> = Lazy::new(|| Arc::new(MapBuilder::new(100, 100).continents().build())); /// Get a clone of the plains map pub fn get_plains_map() -> TerrainData { (*PLAINS_MAP.clone()).clone() } /// Get a clone of the island map pub fn get_island_map() -> TerrainData { (*ISLAND_MAP.clone()).clone() } /// Get a clone of the continent map pub fn get_continent_map() -> TerrainData { (*CONTINENT_MAP.clone()).clone() }