@Test
public void testWarRaptor() {
Player player1 = new Player("TestPlayer", new CardList(), new CardSet(), new CardSet());
Base base1 = new Base("TestBase", Faction.Aliens, 50, 3, 2, 1);
Minion m1 = (Minion) new WarRaptor().setOwner(player1);
Minion m2 = (Minion) new WarRaptor().setOwner(player1);
Minion m3 = (Minion) new WarRaptor().setOwner(player1);
Minion m4 = (Minion) new WarRaptor().setOwner(player1);
assertEquals(2, m1.getStrength());
assertEquals(2, m2.getStrength());
assertEquals(2, m3.getStrength());
assertEquals(2, m4.getStrength());
assertEquals(0, base1.getTotalStrength(player1));
base1.addMinion(m1);
m1.setBase(base1);
assertEquals(3, m1.getStrength());
assertEquals(2, m2.getStrength());
assertEquals(2, m3.getStrength());
assertEquals(2, m4.getStrength());
assertEquals(3, base1.getTotalStrength(player1));
base1.addMinion(m2);
m2.setBase(base1);
assertEquals(4, m1.getStrength());
assertEquals(4, m2.getStrength());
assertEquals(2, m3.getStrength());
assertEquals(2, m4.getStrength());
assertEquals(8, base1.getTotalStrength(player1));
base1.addMinion(m3);
m3.setBase(base1);
assertEquals(5, m1.getStrength());
assertEquals(5, m2.getStrength());
assertEquals(5, m3.getStrength());
assertEquals(2, m4.getStrength());
assertEquals(15, base1.getTotalStrength(player1));
base1.addMinion(m4);
m4.setBase(base1);
assertEquals(6, m1.getStrength());
assertEquals(6, m2.getStrength());
assertEquals(6, m3.getStrength());
assertEquals(6, m4.getStrength());
assertEquals(24, base1.getTotalStrength(player1));
base1.removeMinion(m1);
m1.setBase(null);
assertEquals(2, m1.getStrength());
assertEquals(5, m2.getStrength());
assertEquals(5, m3.getStrength());
assertEquals(5, m4.getStrength());
assertEquals(15, base1.getTotalStrength(player1));
}