package nl.sogyo.mancala.domein; import org.junit.Test; import Sequenic.T2.T2annotation.exclude; // TODO weave the whole testing into the class with AOP? public class MancalaTest extends Mancala { public static final int AANTAL_KOMMEN = 6; @Test @exclude public void test() { Sequenic.T2.Main.Junit(this.getClass().getName() + //" --bdomain=nl.sogyo.mancala.domein.CustomBaseDomain" + //" --imap=nl.sogyo.mancala.domein.MyInterfaceMap" + " --lenexec=500" + " --nmax=100000" + " --searchmode=5000" + " --timeout=-1" + " --xmeth=initialiseerSpel"); } public MancalaTest() { super(); initialiseerSpel("Speler 1", "Speler 2", AANTAL_KOMMEN, 4); } public void doeZet(int komNummer) { assert komNummer > 0 && komNummer <= AANTAL_KOMMEN : "PRE"; try { super.doeZet(komNummer); } catch(IllegalStateException e) { // TODO can this be a PRE condition? //assert e.getMessage().equals("Deze kom kan niet gezet worden.") : "PRE"; if(!e.getMessage().equals("Deze kom kan niet gezet worden.")) { throw e; } } } public String bepaalWinnaar() { assert isAfgelopen() : "PRE"; return super.bepaalWinnaar(); } }