mirror of
https://github.com/kristoferssolo/hexlab.git
synced 2026-03-22 00:26:26 +00:00
fix: clippy warnings
This commit is contained in:
@@ -67,28 +67,24 @@ fn maze_connectivity() {
|
||||
let maze = assert_ok!(MazeBuilder::new().with_radius(3).build());
|
||||
|
||||
// Helper function to count accessible neighbors
|
||||
fn count_accessible_neighbors(maze: &Maze, pos: Hex) -> usize {
|
||||
let count_accessible_neighbors = |pos: Hex| -> usize {
|
||||
hexx::EdgeDirection::ALL_DIRECTIONS
|
||||
.iter()
|
||||
.filter(|&&dir| {
|
||||
let neighbor = pos + dir;
|
||||
if let Some(walls) = maze.get_walls(&pos) {
|
||||
!walls.contains(dir) && maze.get(&neighbor).is_some()
|
||||
} else {
|
||||
false
|
||||
}
|
||||
maze.get_walls(&pos)
|
||||
.is_some_and(|walls| !walls.contains(dir) && maze.get(&neighbor).is_some())
|
||||
})
|
||||
.count()
|
||||
}
|
||||
};
|
||||
|
||||
// Check that each tile has at least one connection
|
||||
for &pos in maze.keys() {
|
||||
let accessible_neighbors = count_accessible_neighbors(&maze, pos);
|
||||
claims::assert_gt!(
|
||||
let accessible_neighbors = count_accessible_neighbors(pos);
|
||||
assert_gt!(
|
||||
accessible_neighbors,
|
||||
0,
|
||||
"Tile at {:?} has no accessible neighbors",
|
||||
pos
|
||||
"Tile at {pos:?} has no accessible neighbors",
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -96,10 +92,9 @@ fn maze_connectivity() {
|
||||
#[test]
|
||||
fn maze_boundaries() {
|
||||
let radius = 3;
|
||||
let maze = MazeBuilder::new()
|
||||
.with_radius(radius as u16)
|
||||
.build()
|
||||
.unwrap();
|
||||
let maze = assert_ok!(MazeBuilder::new().with_radius(radius).build());
|
||||
|
||||
let radius = i32::from(radius);
|
||||
|
||||
// Test that tiles exist within the radius
|
||||
for q in -radius..=radius {
|
||||
@@ -108,8 +103,7 @@ fn maze_boundaries() {
|
||||
if q.abs() + r.abs() <= radius {
|
||||
assert!(
|
||||
maze.get(&pos).is_some(),
|
||||
"Expected tile at {:?} to exist",
|
||||
pos
|
||||
"Expected tile at {pos:?} to exist",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use claims::assert_some;
|
||||
use hexlab::prelude::*;
|
||||
use rstest::rstest;
|
||||
|
||||
@@ -46,11 +47,10 @@ fn generator_type(
|
||||
|
||||
// Check that each tile has at least one open wall
|
||||
for &pos in maze.keys() {
|
||||
let walls = maze.get_walls(&pos).unwrap();
|
||||
let walls = assert_some!(maze.get_walls(&pos));
|
||||
assert!(
|
||||
walls.count() < 6,
|
||||
"Tile at {:?} should have at least one open wall",
|
||||
pos
|
||||
"Tile at {pos:?} should have at least one open wall",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use claims::assert_some;
|
||||
use hexlab::prelude::*;
|
||||
|
||||
#[test]
|
||||
@@ -10,9 +11,8 @@ fn hex_maze_creation_and_basic_operations() {
|
||||
assert_eq!(maze.count(), 1);
|
||||
assert!(!maze.is_empty());
|
||||
|
||||
let tile = maze.get(¢er);
|
||||
assert!(tile.is_some());
|
||||
assert_eq!(tile.unwrap().pos(), center);
|
||||
let tile = assert_some!(maze.get(¢er));
|
||||
assert_eq!(tile.pos(), center);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -26,7 +26,7 @@ fn hex_maze_wall_operations() {
|
||||
let _ = maze.add_tile_wall(¢er, direction);
|
||||
}
|
||||
|
||||
let walls = maze.get_walls(¢er).unwrap();
|
||||
let walls = assert_some!(maze.get_walls(¢er));
|
||||
assert_eq!(walls.count(), 6);
|
||||
|
||||
// Remove walls
|
||||
@@ -34,7 +34,7 @@ fn hex_maze_wall_operations() {
|
||||
let _ = maze.remove_tile_wall(¢er, direction);
|
||||
}
|
||||
|
||||
let walls = maze.get_walls(¢er).unwrap();
|
||||
let walls = assert_some!(maze.get_walls(¢er));
|
||||
assert_eq!(walls.count(), 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user