@Test
 public void doisElfosAtirandoEm1Dwarf() {
   Elfo elfo5 = new Elfo("legolas5");
   Elfo elfo6 = new Elfo("legolas6");
   Dwarf dwarf2 = new Dwarf("umDwarf");
   elfo5.atirarFlecha(dwarf2);
   elfo6.atirarFlecha(dwarf2);
   assertEquals(90, dwarf2.getVida());
 }
 @Test
 public void perdaDeFlechasDoElfoEPerdaDeVidaDoDwarf() {
   // Arrange
   Elfo elfo4 = new Elfo("legolas4");
   Dwarf dwarf1 = new Dwarf("oana");
   int qtdFlechasEsperada = 41;
   int qtdExperienciaEsperada = 1;
   int vidaEsperada = 100;
   // Act
   elfo4.atirarFlecha(dwarf1);
   // Assert
   assertEquals(qtdExperienciaEsperada, elfo4.getExperiencia());
   assertEquals(qtdFlechasEsperada, elfo4.getFlechas());
   assertEquals(vidaEsperada, dwarf1.getVida());
 }
  @Test
  public void atacarHordaDwarvesEstrategiaDeGuerraNoturnosAtacam30Porc10Elfos() {
    ExercitoElfos e = new ExercitoElfos();
    e.trocarDeEstrategia(new EstrategiaDeGuerra());
    ArrayList<Dwarf> alvo = new ArrayList<Dwarf>();
    int limiteAtaque = (int) (10 * 0.3);

    for (int i = 0; i < 10; i++) e.alistarElfo(new ElfoNoturno("Elfo " + i));

    Dwarf d = new Dwarf("Alvo");
    alvo.add(d);

    e.atacarHordaDwarves(alvo);

    assertEquals(limiteAtaque, e.getOrdemDoUltimoAtaque().size());
    assertEquals(80, d.getHp());
  }
 @Test
 public void doisElfosAtiramEm2anoes() {
   // Arrange
   Elfo elfoI = new Elfo("legolasI");
   Elfo elfoII = new Elfo("legolasII");
   Dwarf dwarfI = new Dwarf("robin");
   Dwarf dwarfII = new Dwarf("pitter");
   int qtdFlechasEsperada = 40;
   int qtdExperienciaEsperada = 2;
   int vidaEsperada = 90;
   // Act
   elfoI.atirarFlecha(dwarfI);
   elfoI.atirarFlecha(dwarfI);
   elfoII.atirarFlecha(dwarfII);
   elfoII.atirarFlecha(dwarfII);
   // Assert
   assertEquals(qtdExperienciaEsperada, elfoI.getExperiencia());
   assertEquals(qtdFlechasEsperada, elfoI.getFlechas());
   assertEquals(vidaEsperada, dwarfI.getVida());
 }