### Question:
IpProtoClassifier extends Classifier { @Override protected void checkPresenceOfRequiredParams(Map<String, ParameterValue> params) { if (params.get(IpProtoClassifierDefinition.PROTO_PARAM) == null) { throw new IllegalArgumentException( "Parameter " + IpProtoClassifierDefinition.PROTO_PARAM + " not specified."); } if (params.get(IpProtoClassifierDefinition.PROTO_PARAM).getIntValue() == null) { throw new IllegalArgumentException( "Value of " + IpProtoClassifierDefinition.PROTO_PARAM + " parameter is not present."); } } protected  IpProtoClassifier(Classifier parent); @Override ClassifierDefinitionId getId(); @Override ClassifierDefinition getClassifierDefinition(); @Override List<SupportedParameterValues> getSupportedParameterValues(); static Long getIpProtoValue(Map<String, ParameterValue> params);  }### Answer:
@Test public void testCheckPresenceOfRequiredParams() { Map<String, ParameterValue> params = prepareParams(IpProtoClassifierDefinition.UDP_VALUE); try { Classifier.IP_PROTO_CL.checkPresenceOfRequiredParams(params); } catch (IllegalArgumentException e) { fail("Required parameter missing"); } }
@Test(expected = IllegalArgumentException.class) public void testCheckPresenceOfRequiredParams_noParam() { Map<String, ParameterValue> params = new HashMap<>(); Classifier.IP_PROTO_CL.checkPresenceOfRequiredParams(params); }
@Test(expected = IllegalArgumentException.class) public void testCheckPresenceOfRequiredParams_nullValue() { Map<String, ParameterValue> params = prepareParams_nullValue(); Classifier.IP_PROTO_CL.checkPresenceOfRequiredParams(params); }