function to safely add a tile
This commit is contained in:
parent
e84fa4cc7c
commit
280e7e9cd6
21
src/game.rs
21
src/game.rs
|
@ -199,6 +199,16 @@ impl NewTileId for Game {
|
|||
}
|
||||
}
|
||||
|
||||
impl Game {
|
||||
/// adds a tile safely and returns the new tile ID
|
||||
fn add_tile(&mut self, mut tile: Tile) -> u64 {
|
||||
let new_id = self.new_tile_id();
|
||||
tile.id = new_id;
|
||||
self.tiles.push(tile);
|
||||
new_id
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_game_from_string() {
|
||||
let output = Game::from(
|
||||
|
@ -250,3 +260,14 @@ fn test_new_tile_id() {
|
|||
|
||||
assert_eq!(game.new_tile_id(), 10);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_add_tile() {
|
||||
let mut game = mock::game_default();
|
||||
let new_id = game.add_tile(mock::tile_default());
|
||||
assert_eq!(new_id, 0);
|
||||
assert_eq!(game.tiles.len(), 2);
|
||||
let new_id = game.add_tile(mock::tile_default());
|
||||
assert_eq!(new_id, 1);
|
||||
assert_eq!(game.tiles.len(), 3);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue