JUnit 4 + EasyMock voids abfragen

Rexinator

Grünschnabel
Hallo,

meine Methode die ich testen will sieht so aus:
Code:
al_figuren = schale.getSpielfiguren();

    int count = al_figuren.size();

    if (al_figuren.get(0) instanceof Pacman)
    {
      pacman = (Pacman) al_figuren.get(0);

      for (int i = 1; i < count; i++)
      {
        if (al_figuren.get(i) instanceof Geist)
        {
          geist = (IGeist) al_figuren.get(i);
          geist.setPacman(pacman);
          geist.macheZug();
        }
        else
        {
          al_figuren.set(i, new Futter()); // wenn geist tot, dann neues futter
        }
      }
    }
    else
    {
      JOptionPane.showMessageDialog(null, "Ende des Spiels");
    }


und meine Testklasse so:
Code:
public class BewegungTest
{

  ISchale mock_schale;
  IPacman mock_pacman;
  IGeist  mock_geist;

  @Before
  public void setUp()
  {
    mock_schale = EasyMock.createMock(ISchale.class);
    mock_pacman = EasyMock.createMock(IPacman.class);
    mock_geist = EasyMock.createMock(IGeist.class);
  }

  @Test
  public void bewegeGeistTest()
  {
    ArrayList<Spielfiguren> al_TestFiguren = new ArrayList();
    al_TestFiguren.add(new Futter());

    EasyMock.expect(mock_schale.getSpielfiguren()).andReturn(al_TestFiguren);

    EasyMock.replay(mock_schale);
    
    assertTrue(mock_geist.macheZug());  <-------------- geht nicht
    assertNotNull(mock_geist.macheZug());  <-------------- geht nicht
    
    EasyMock.expect(mock_geist.macheZug());  <-------------- geht nicht

  }

Ich versuche jetzt diese macheZug() methode abzufragen nur weiß ich nicht wie...
Gedacht hatte ich das ich das macheZug mit times(1) abfrage aber so weit lässt mich der EasyMock nicht weil ein void nicht annimmt im expect.....

Hoffe einer kann mir helfen^^

Gruß
 
Zurück