### Question:
EtherTypeClassifier extends Classifier { @Override protected void checkPresenceOfRequiredParams(Map<String, ParameterValue> params) { if (params.get(EtherTypeClassifierDefinition.ETHERTYPE_PARAM) == null) { throw new IllegalArgumentException("Parameter " + EtherTypeClassifierDefinition.ETHERTYPE_PARAM + " not specified."); } if (params.get(EtherTypeClassifierDefinition.ETHERTYPE_PARAM).getIntValue() == null) { throw new IllegalArgumentException("Value of " + EtherTypeClassifierDefinition.ETHERTYPE_PARAM + " parameter is not present."); } } EtherTypeClassifier(Classifier parent); @Override ClassifierDefinitionId getId(); @Override ClassifierDefinition getClassifierDefinition(); @Override List<SupportedParameterValues> getSupportedParameterValues();  }### Answer:
@Test public void testCheckPresenceOfRequiredParameters_EtherTypeMissing() { Map<String, ParameterValue> params = new HashMap<>(); params.putAll(ClassifierTestUtils.createIntValueParam(IpProtoClassifierDefinition.PROTO_PARAM, ClassifierTestUtils.TCP)); thrown.expect(IllegalArgumentException.class); thrown.expectMessage(ClassifierTestUtils.MSG_NOT_SPECIFIED); ethTypeCl.checkPresenceOfRequiredParams(params); }
@Test public void testCheckPresenceOfRequiredParameters_EtherTypeNull() { Map<String, ParameterValue> params = new HashMap<>(); params.putAll(ClassifierTestUtils.createIntValueParam(EtherTypeClassifierDefinition.ETHERTYPE_PARAM, null)); thrown.expect(IllegalArgumentException.class); thrown.expectMessage(ClassifierTestUtils.MSG_PARAMETER_IS_NOT_PRESENT); ethTypeCl.checkPresenceOfRequiredParams(params); }