61 lines
2.1 KiB
C++
61 lines
2.1 KiB
C++
#include "ScavTrap.hpp"
|
|
|
|
int main() {
|
|
std::cout << "\033[1;36m### TESTING CLAPTRAP ###\033[0m\n" << std::endl;
|
|
|
|
{
|
|
// Construction ClapTrap
|
|
std::cout << "\033[1;33m--- ClapTrap Construction ---\033[0m" << std::endl;
|
|
ClapTrap defaultBot;
|
|
ClapTrap namedBot("R2D2");
|
|
ClapTrap copiedBot(namedBot);
|
|
|
|
// Tests basiques ClapTrap
|
|
std::cout << "\n\033[1;33m--- ClapTrap Basic Tests ---\033[0m" << std::endl;
|
|
namedBot.attack("Enemy");
|
|
namedBot.takeDamage(3);
|
|
namedBot.beRepaired(2);
|
|
|
|
std::cout << "\n\033[1;33m--- ClapTrap Destruction ---\033[0m" << std::endl;
|
|
}
|
|
|
|
std::cout << "\n\033[1;35m### TESTING SCAVTRAP ###\033[0m\n" << std::endl;
|
|
|
|
{
|
|
// Construction ScavTrap
|
|
std::cout << "\033[1;33m--- ScavTrap Construction ---\033[0m" << std::endl;
|
|
ScavTrap defaultScav;
|
|
ScavTrap namedScav("R3D3");
|
|
ScavTrap copiedScav(namedScav);
|
|
|
|
// Tests basiques ScavTrap
|
|
std::cout << "\n\033[1;33m--- ScavTrap Basic Tests ---\033[0m" << std::endl;
|
|
namedScav.attack("Bandit");
|
|
namedScav.takeDamage(20);
|
|
namedScav.beRepaired(15);
|
|
|
|
// Test capacité spéciale
|
|
std::cout << "\n\033[1;33m--- ScavTrap Special Ability ---\033[0m" << std::endl;
|
|
namedScav.guardGate();
|
|
defaultScav.guardGate();
|
|
|
|
// Test énergie (50 points pour ScavTrap)
|
|
std::cout << "\n\033[1;33m--- ScavTrap Energy Test ---\033[0m" << std::endl;
|
|
ScavTrap energyScav("EnergyBot");
|
|
for (int i = 0; i < 52; i++) {
|
|
energyScav.attack("practice_target");
|
|
}
|
|
|
|
// Test mort
|
|
std::cout << "\n\033[1;33m--- ScavTrap Death Test ---\033[0m" << std::endl;
|
|
ScavTrap deadScav("DeadScav");
|
|
deadScav.takeDamage(150); // >100 HP
|
|
deadScav.attack("ghost"); // fails
|
|
deadScav.guardGate(); // Should still work when dead
|
|
|
|
std::cout << "\n\033[1;33m--- ScavTrap Destruction ---\033[0m" << std::endl;
|
|
}
|
|
|
|
std::cout << "\n\033[1;32m### ALL TESTS COMPLETED ###\033[0m" << std::endl;
|
|
return 0;
|
|
} |