### Question:
IpProtoClassifier extends Classifier { public static Long getIpProtoValue(Map<String, ParameterValue> params) { if (params == null) { return null; } if (params.get(IpProtoClassifierDefinition.PROTO_PARAM) == null) { return null; } Long proto = params.get(IpProtoClassifierDefinition.PROTO_PARAM).getIntValue(); if (proto != null) { return proto; } return null; } 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 testGetIpProtoValue() { Long expected = IpProtoClassifierDefinition.UDP_VALUE; assertEquals(expected, IpProtoClassifier.getIpProtoValue(prepareParams(expected))); }
@Test public void testGetIpProtoValue_badParams() { Map<String, ParameterValue> params = prepareParams_nullValue(); assertNull(IpProtoClassifier.getIpProtoValue(params)); assertNull(IpProtoClassifier.getIpProtoValue(new HashMap<String, ParameterValue>())); assertNull(IpProtoClassifier.getIpProtoValue(null)); }