package nl.tudelft.bw4t.scenariogui; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import nl.tudelft.bw4t.map.EntityType; import org.junit.Test; /** * Class used for testing the BotConfig class except the getters and setters. */ public class BotConfigTest { private String name; private EntityType controller; private int amount; private int botSize; private int botSpeed; private int botBatteryCapacity; private int numberOfGrippers; private boolean batteryEnabled; private boolean hasColorBlindHandicap; private boolean hasGripperHandicap; private boolean hasMoveSpeedHandicap; private boolean hasSizeOverloadHandicap; private String fileName; private String referenceName; /** * Tests whether the toString method displays the desired result. */ @Test public void bcToStringTest() { setDefaultValues(); BotConfig bot = createTestBot(); assertNotEquals("Wrong string test", bot.bcToString()); assertEquals((name + controller + amount + botSize + botSpeed + botBatteryCapacity + numberOfGrippers + batteryEnabled + hasColorBlindHandicap + hasGripperHandicap + hasMoveSpeedHandicap + hasSizeOverloadHandicap + fileName + referenceName), bot.bcToString()); } /** * Test for cloning a bot */ @Test public void cloneTest() { BotConfig bot = createTestBot(); BotConfig clonedbot = bot.clone(); assertEquals(bot.bcToString(), clonedbot.bcToString()); } /** * Tests whether the default human bot created is of type HUMAN and * only differs in controller type from the default bot. */ @Test public void createDefaultHumansTest() { BotConfig humanBot = BotConfig.createDefaultHumans(); BotConfig defaultBot = new BotConfig(); defaultBot.setBotName("Human"); assertEquals(humanBot.getBotController(), EntityType.HUMAN); EntityType defaultController = defaultBot.getBotController(); humanBot.setBotController(defaultController); assertEquals(humanBot.bcToString(), defaultBot.bcToString()); } /** * Tests whether the default human bot created is of type HUMAN and * only differs in controller type from the default bot. */ @Test public void createDefaultRobotTest() { BotConfig staticDefaultBot = BotConfig.createDefaultRobot(); BotConfig defaultBot = new BotConfig(); assertEquals(staticDefaultBot.getBotController(), EntityType.AGENT); EntityType defaultController = defaultBot.getBotController(); staticDefaultBot.setBotController(defaultController); assertEquals(staticDefaultBot.bcToString(), defaultBot.bcToString()); } private void setDefaultValues() { name = "testName"; controller = EntityType.HUMAN; amount = 10; botSize = 3; botSpeed = 60; botBatteryCapacity = 100; numberOfGrippers = 2; batteryEnabled = true; hasColorBlindHandicap = true; hasGripperHandicap = false; hasMoveSpeedHandicap = false; hasSizeOverloadHandicap = false; fileName = "robot_test.goal"; referenceName = "ref_test_name"; } private BotConfig createTestBot() { BotConfig bot = new BotConfig(); bot.setBotName(name); bot.setBotController(controller); bot.setBotAmount(amount); bot.setBotSize(botSize); bot.setBotSpeed(botSpeed); bot.setBotBatteryCapacity(botBatteryCapacity); bot.setGrippers(numberOfGrippers); bot.setBatteryEnabled(batteryEnabled); bot.setColorBlindHandicap(hasColorBlindHandicap); bot.setGripperHandicap(hasGripperHandicap); bot.setMoveSpeedHandicap(hasMoveSpeedHandicap); bot.setSizeOverloadHandicap(hasSizeOverloadHandicap); bot.setFileName(fileName); bot.setReferenceName(referenceName); return bot; } }