fix: clippy warnings

This commit is contained in:
2025-09-25 11:40:15 +03:00
parent b874f05471
commit 81991027bb
9 changed files with 71 additions and 121 deletions

View File

@@ -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",
);
}
}

View File

@@ -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",
);
}
}

View File

@@ -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(&center);
assert!(tile.is_some());
assert_eq!(tile.unwrap().pos(), center);
let tile = assert_some!(maze.get(&center));
assert_eq!(tile.pos(), center);
}
#[test]
@@ -26,7 +26,7 @@ fn hex_maze_wall_operations() {
let _ = maze.add_tile_wall(&center, direction);
}
let walls = maze.get_walls(&center).unwrap();
let walls = assert_some!(maze.get_walls(&center));
assert_eq!(walls.count(), 6);
// Remove walls
@@ -34,7 +34,7 @@ fn hex_maze_wall_operations() {
let _ = maze.remove_tile_wall(&center, direction);
}
let walls = maze.get_walls(&center).unwrap();
let walls = assert_some!(maze.get_walls(&center));
assert_eq!(walls.count(), 0);
}