Skip to main content

api_shooter_game/
lib.rs

1pub mod player;
2pub mod enemy;
3pub mod bullet;
4pub mod game_state;
5
6pub use player::Player;
7pub use enemy::Enemy;
8pub use bullet::{Bullet, EnemyBullet};
9pub use game_state::GameState;
10
11#[cfg(test)]
12mod integration_tests {
13    use super::*;
14
15    #[test]
16    fn test_game_state_creation() {
17        let game = GameState::new();
18        assert_eq!(game.score, 0);
19        assert_eq!(game.enemies_defeated, 0);
20        assert!(!game.game_over);
21        assert!(!game.victory_screen);
22        assert!(!game.enemy_weakness_revealed);
23        assert!(game.enemy.is_some());
24        assert_eq!(game.bullets.len(), 0);
25        assert_eq!(game.enemy_bullets.len(), 0);
26    }
27
28    #[test]
29    fn test_all_components_work_together() {
30        let player = Player::new();
31        let enemy = Enemy::new();
32        let game = GameState::new();
33        
34        // Ensure all components can be created
35        assert!(player.hp > 0);
36        assert!(enemy.hp > 0);
37        assert!(game.enemy.is_some());
38    }
39}