@Test public void testManantialesCheckConstriantsRelieved() throws InvalidMoveException, JMSException { ManantialesFicha ficha = new ManantialesFicha(4, 3, alice.getColor(), TokenType.MODERATE_PASTURE); ManantialesFicha ficha2 = new ManantialesFicha(4, 5, bob.getColor(), TokenType.MODERATE_PASTURE); ManantialesFicha ficha3 = new ManantialesFicha(3, 4, charlie.getColor(), TokenType.MODERATE_PASTURE); ManantialesFicha relief = new ManantialesFicha(4, 3, alice.getColor(), TokenType.MANAGED_FOREST); ManantialesFicha retrigger = new ManantialesFicha(4, 3, alice.getColor(), TokenType.MODERATE_PASTURE); ManantialesFicha terminate = new ManantialesFicha(5, 5, denise.getColor(), TokenType.MODERATE_PASTURE); SetIds(ficha, ficha2, ficha3, retrigger, terminate); ManantialesMove move = new ManantialesMove(alice, ficha); move.setMode(game.getMode()); Move mv = game.move(move); assertEquals(MoveStatus.EVALUATED, mv.getStatus()); bob.setTurn(true); move = new ManantialesMove(bob, ficha2); mv = game.move(move); assertEquals(MoveStatus.EVALUATED, mv.getStatus()); charlie.setTurn(true); move = new ManantialesMove(charlie, ficha3); mv = game.move(move); assertEquals(MoveStatus.EVALUATED, mv.getStatus()); List filtered = filterForEvent(GameEvent.CONDITION_RAISED); assertTrue(filtered.size() == 1); alice.setTurn(true); move = new ManantialesMove(alice, ficha, relief); game.move(move); filtered = filterForEvent(GameEvent.CONDITION_RESOLVED); assertTrue("Actual size of filtered (expected 1): " + filtered.size(), filtered.size() == 1); filtered = filterForEvent(GameEvent.CONDITION_TRIGGERED); assertTrue(filtered.size() == 0); /* retrigger condition */ alice.setTurn(true); move = new ManantialesMove(alice, relief, retrigger); game.move(move); filtered = filterForEvent(GameEvent.CONDITION_RAISED); assertTrue("filter size is: " + filtered.size(), filtered.size() == 2); /* allow condition to terminate game, i.e., TRIGGER */ denise.setTurn(true); move = new ManantialesMove(denise, terminate); game.move(move); filtered = filterForEvent(GameEvent.CONDITION_TRIGGERED); assertTrue(filtered.size() == 1); assertTrue(game.getState().equals(GameState.ENDED)); }
/** * Test on ManantialesGame for setting check constraints * * @throws InvalidMoveException */ @Test public void testManantialCheckConstraints() throws InvalidMoveException { ManantialesFicha ficha = new ManantialesFicha(4, 3, alice.getColor(), TokenType.MODERATE_PASTURE); ManantialesFicha ficha2 = new ManantialesFicha(4, 5, bob.getColor(), TokenType.MODERATE_PASTURE); ManantialesFicha ficha3 = new ManantialesFicha(3, 4, charlie.getColor(), TokenType.MODERATE_PASTURE); SetIds(ficha, ficha2, ficha3); ManantialesMove move = new ManantialesMove(alice, ficha); move.setMode(game.getMode()); Move mv = game.move(move); assertEquals(MoveStatus.EVALUATED, mv.getStatus()); bob.setTurn(true); move = new ManantialesMove(bob, ficha2); mv = game.move(move); assertEquals(MoveStatus.EVALUATED, mv.getStatus()); charlie.setTurn(true); move = new ManantialesMove(charlie, ficha3); mv = game.move(move); assertEquals(MoveStatus.EVALUATED, mv.getStatus()); assertEquals(1, game.getCheckConditions().size()); }