### Question:
ExtractorModel extends FeatureModel implements Extractor, Recyclable { @Override public void update(double extrp) { switch (state) { case NONE: break; case GOTO_RESOURCES: actionGoingToResources(); break; case EXTRACTING: actionExtracting(); break; case GOTO_WAREHOUSE: actionGoingToWarehouse(); break; case DROPOFF: actionDropingOff(); break; default: throw new LionEngineException(state); } } ExtractorModel(Services services, Setup setup); @Override void prepare(FeatureProvider provider); @Override void checkListener(Object listener); @Override void addListener(ExtractorListener listener); @Override void removeListener(ExtractorListener listener); @Override void setChecker(ExtractorChecker checker); @Override void update(double extrp); @Override void startExtraction(); @Override void stopExtraction(); @Override boolean isExtracting(); @Override void setResource(Extractable extractable); @Override void setResource(String type, Tiled tiled); @Override void setResource(String type, int tx, int ty, int tw, int th); @Override void setExtractionSpeed(double count); @Override void setDropOffSpeed(double count); @Override void setCapacity(int capacity); @Override int getExtractionCapacity(); @Override double getExtractionSpeed(); @Override double getDropOffSpeed(); @Override Tiled getResourceLocation(); @Override String getResourceType(); @Override void recycle();  }### Answer:
@Test void testEnumFail() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException { final ExtractorModel extractor = new ExtractorModel(services, setup); final Field field = extractor.getClass().getDeclaredField("state"); UtilReflection.setAccessible(field, true); field.set(extractor, ExtractorState.values()[5]); assertThrows(() -> extractor.update(1.0), "Unknown enum: FAIL"); }