#include "pch.h" #pragma once #include #include "../Source/BWEM/src/bwem.h"; #include "../Source/Macro.h"; using namespace BWAPI; namespace MacroTest { namespace { auto& map = BWEM::Map::Instance(); } int selfID = 1; TilePosition tp1 = TilePosition(1, 1); TEST(MacroTest, DISABLED_addBase) { EXPECT_EQ(int(Macro::bases.size()), 0); Macro::addBase(tp1); EXPECT_EQ(int(Macro::bases.size()), 1); } TEST(MacroTest, addLocation) { EXPECT_EQ(int(Macro::locations.size()), 0); Macro::addLocation(tp1, false); EXPECT_EQ(int(Macro::locations.size()), 1); } TEST(MacroTest, addPlayer) { BWAPI::Player p = BWAPI::Player(); EXPECT_EQ(int(Macro::players.size()), 0); Macro::addPlayer(p); EXPECT_EQ(int(Macro::players.size()), 1); } TEST(MacroTest, addSquad) { EXPECT_EQ(int(Macro::squads.size()), 0); Macro::addSquad(); EXPECT_EQ(int(Macro::squads.size()), 1); } TEST(MacroTest, DISABLED_analyzeQueue) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_assignBase) { BWAPI::Player p = BWAPI::Player(); CBase c = CBase(); Macro::addPlayer(p); Macro::assignBase(p->getID(), c); EXPECT_EQ(int(Macro::players.front().bases.size()), 1); } TEST(MacroTest, DISABLED_findMiningBase) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_freeUnit) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_getTrainingBase) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_morphCreepColonies) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_onUnitComplete) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_onUnitCreate) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_onUnitDestroy) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_onUnitDiscover) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_onUnitMorph) { EXPECT_EQ(1, 0); } TEST(MacroTest, DISABLED_onUnitShow) { Unit u = Unit(); EXPECT_EQ(1, 0); } TEST(MacroTest, queueCount) { BWAPI::UnitType unit = BWAPI::UnitTypes::Zerg_Drone; EXPECT_EQ(Macro::queueCount(unit), 0); Macro::queue.push_back(QueueEntry(unit, false, 0.0)); Macro::queue.push_back(QueueEntry(unit, false, 0.0)); EXPECT_EQ(Macro::queueCount(unit), 2); } TEST(MacroTest, queueHasTech) { BWAPI::TechType tech = BWAPI::TechTypes::Burrowing; EXPECT_FALSE(Macro::queueHas(tech)); Macro::queue.push_back(QueueEntry(tech, false, 0.0)); EXPECT_TRUE(Macro::queueHas(tech)); } TEST(MacroTest, queueHasUnit) { Macro::queue.clear(); BWAPI::UnitType unit = BWAPI::UnitTypes::Zerg_Drone; EXPECT_FALSE(Macro::queueHas(unit)); Macro::queue.push_back(QueueEntry(unit, false, 0.0)); EXPECT_TRUE(Macro::queueHas(unit)); } TEST(MacroTest, queueHasUpgrade) { BWAPI::UpgradeType upgrade = BWAPI::UpgradeTypes::Adrenal_Glands; EXPECT_FALSE(Macro::queueHas(upgrade)); Macro::queue.push_back(QueueEntry(upgrade, false, 0.0)); EXPECT_TRUE(Macro::queueHas(upgrade)); } TEST(MacroTest, setEnemyId) { int enemyId = 2; Macro::setEnemyID(enemyId); // check if the enemy id is in the enemyIDs vector EXPECT_TRUE(std::find(Macro::enemyIDs.begin(), Macro::enemyIDs.end(), enemyId) != Macro::enemyIDs.end()); } TEST(MacroTest, DISABLED_setLastAttack) { int lastAttackFrame = 2; Macro::setLastAttack(lastAttackFrame); EXPECT_EQ(Macro::lastAttack, lastAttackFrame); } TEST(MacroTest, DISABLED_setLastBuildLocation) { Macro::setLastBuildLocation(tp1); EXPECT_EQ(Macro::lastBuildLocation.x, tp1.x); EXPECT_EQ(Macro::lastBuildLocation.y, tp1.y); } TEST(MacroTest, DISABLED_setMacroHatch) { Macro::setMacroHatch(false); EXPECT_EQ(Macro::macroHatch, false); Macro::setMacroHatch(true); EXPECT_EQ(Macro::macroHatch, true); } TEST(MacroTest, DISABLED_setNewBase) { Macro::setNewBase(false); EXPECT_EQ(Macro::newBase, false); Macro::setNewBase(true); EXPECT_EQ(Macro::newBase, true); } TEST(MacroTest, DISABLED_setScouts) { EXPECT_EQ(int(Macro::scouts.size()), 0); Macro::setSelfID(selfID); CUnit overlord = CUnit(); Unit u = Unit(); } TEST(MacroTest, setSelfID) { Macro::setSelfID(selfID); EXPECT_EQ(Macro::selfID, selfID); } TEST(MacroTest, setStopProduction) { Macro::setStopProduction(false); EXPECT_EQ(Macro::stopProduction, false); Macro::setStopProduction(true); EXPECT_EQ(Macro::stopProduction, true); } } class MacroTestFixture : ::testing::Test { protected: MacroTestFixture() { } };