### Question:
AttackerModel extends FeatureModel implements Attacker, Recyclable { @Override public int getAttackDamages() { return damages.getRandom(); } AttackerModel(Services services, Setup setup); @Override void prepare(FeatureProvider provider); @Override void checkListener(Object listener); @Override void addListener(AttackerListener listener); @Override void removeListener(AttackerListener listener); @Override void attack(Transformable target); @Override void stopAttack(); @Override void update(double extrp); @Override void setAttackChecker(Predicate<Transformable> checker); @Override void setAttackDistanceComputer(ToDoubleBiFunction<Transformable, Transformable> distance); @Override void setAttackDelay(int tick); @Override void setAttackFrame(int frame); @Override void setAttackDistance(Range range); @Override void setAttackDamages(Range range); @Override int getAttackDamages(); @Override boolean isAttacking(); @Override Transformable getTarget(); @Override void recycle();  }### Answer:
@Test void testNoConfig() { final Media media = UtilTransformable.createMedia(AttackerModelTest.class); final Xml xml = new Xml(media); xml.save(media); final AttackerModel attacker = new AttackerModel(services, new Setup(media)); assertTrue(attacker.getAttackDamages() == 0); assertTrue(media.getFile().delete()); }