@Test @SuppressWarnings("unchecked") public void verifyAchievementMapping() throws Throwable { List<Achievement> achievements = Lists.newArrayList(Achievement.values()); for (net.minecraft.server.Achievement achievement : (List<net.minecraft.server.Achievement>) AchievementList.e) { String name = achievement.name; String message = String.format("org.bukkit.Achievement is missing: '%s'", name); Achievement subject = CraftStatistic.getBukkitAchievement(achievement); assertThat(message, subject, is(not(nullValue()))); assertThat(name, achievements.remove(subject), is(true)); } assertThat("org.bukkit.Achievement has too many achievements", achievements, is(empty())); }
@Test @SuppressWarnings("unchecked") public void verifyMapping() throws Throwable { List<Achievement> achievements = Lists.newArrayList(Achievement.values()); for (net.minecraft.server.Achievement statistic : (List<net.minecraft.server.Achievement>) AchievementList.e) { int id = statistic.e; String name = Util.getInternalState(Statistic.class, statistic, "a"); String message = String.format("org.bukkit.Achievement is missing id: %d named: '%s'", id - Achievement.STATISTIC_OFFSET, name); Achievement subject = Achievement.getById(id); assertNotNull(message, subject); assertTrue(name, achievements.remove(subject)); } assertThat("org.bukkit.Achievement has too many achievements", achievements, is(Collections.EMPTY_LIST)); }