@Test
public void testDeserialize(){

    String data = "##0139ST=32;CN=2011;PW=123456;MN=LD130133000015;CP=&&DataTime=20160824003817000;B01-Rtd=36.91;011-Rtd=231.0,011-Flag=N;060-Rtd=1.803,060-Flag=N&&4980\r\n";
    StringReader reader = new StringReader(data);
    T212Parser t212Parser = new T212Parser(reader);
    T212Configurator configurator = new T212Configurator();
    int vFeature = Feature.collectFeatureDefaults(VerifyFeature.class);
    vFeature = vFeature | ALLOW_MISSING_FIELD.getMask();
    vFeature = vFeature | ALLOW_VALUE_NOT_IN_RANGE.getMask();
    configurator.setVerifyFeature(vFeature);
    configurator.setValidator(Validation.buildDefaultValidatorFactory().getValidator());
    configurator.setParserFeature(Feature.collectFeatureDefaults(ParserFeature.class));
    DataLevelMapDeserializer deserializer = new DataLevelMapDeserializer();
    deserializer.configured(configurator);
    try (T212Parser parser = t212Parser) {
        Map<String, String> map = deserializer.deserialize(parser);
        assertNotNull(map);
        assertEquals(map.get("ST"),"32");
        assertEquals(map.get("CN"),"2011");
        assertEquals(map.get("PW"),"123456");
        assertEquals(map.get("MN"),"LD130133000015");
        assertEquals(map.get("CP"),"DataTime=20160824003817000;B01-Rtd=36.91;011-Rtd=231.0,011-Flag=N;060-Rtd=1.803,060-Flag=N");
    } catch (T212FormatException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}