/** * Tests that the swarm trigger of spawning only when the prior swarms reaches a certain death * ratio is working. */ public void testUpdate_withDeadRatioTrigger() { MockEnemyShip enemy1 = enemyStockpile.take(MockEnemyShip.class); MockEnemyShip enemy2 = enemyStockpile.take(MockEnemyShip.class); MockEnemyShip enemy3 = enemyStockpile.take(MockEnemyShip.class); enemy1.active = true; enemy2.active = true; enemy3.active = true; priorSwarm.triggered = true; priorSwarm.spawnedShips.add(enemy1); priorSwarm.spawnedShips.add(enemy2); priorSwarm.spawnedShips.add(enemy3); swarm.priorSwarm = priorSwarm; swarm.triggerType = Swarm.TRIGGER_AFTER_LAST_DEAD_RATIO; swarm.triggerDeadRatio = .5f; // Test whent they are all still alive swarm.update(0); assertFalse(swarm.triggered); // Kill one enemy1.kill(); swarm.update(0); assertFalse(swarm.triggered); // Kill the second one, this should put the dead over the ratio. enemy2.kill(); swarm.update(0); assertTrue(swarm.triggered); }