@Test public void testBattleAchievementShouldBeFulfilled() throws Exception { AchievementBuilder achievementBuilder = new AchievementBuilder(); achievementBuilder.setId("TWO_COWS"); achievementBuilder.setName("Two Cows"); BattleStatisticsQuery cowQuery = new BattleStatisticsQuery(); cowQuery.setId(new Id("COW")); achievementBuilder.addBattleStatisticsRequirement(new BattleStatisticsRequirement(cowQuery, 2)); Achievement achievement = achievementBuilder.createAchievement(); CreaturePreset cowPreset = new CreaturePreset(); cowPreset.setId(new Id("COW")); cowPreset.setType("BEAST"); cowPreset.setHealth(1); cowPreset.setVisibility(Percentage.fromString("80%")); CauseOfDeath unarmedCauseOfDeath = CauseOfDeath.getUnarmedCauseOfDeath(); Statistics statistics = new Statistics(); Assert.assertFalse(achievement.isFulfilled(statistics)); statistics .getBattleStatistics() .addBattle(new Creature(cowPreset), unarmedCauseOfDeath, PartOfDay.DAWN); Assert.assertFalse(achievement.isFulfilled(statistics)); statistics .getBattleStatistics() .addBattle(new Creature(cowPreset), unarmedCauseOfDeath, PartOfDay.DAWN); Assert.assertTrue(achievement.isFulfilled(statistics)); }