### Question:
PMap { public long getLong(String key, long _default) { String str = get(key); if (!Helper.isEmpty(str)) { try { return Long.parseLong(str); } catch (Exception ex) { } } return _default; } PMap();  PMap(int capacity);  PMap(Map<String, String> map);  PMap(PMap map);  PMap(String propertiesString); static PMap read(String[] args); PMap put(PMap map); PMap put(String key, Object str); PMap remove(String key); boolean has(String key); long getLong(String key, long _default); int getInt(String key, int _default); boolean getBool(String key, boolean _default); double getDouble(String key, double _default); float getFloat(String key, float _default); String get(String key, String _default); Map<String, String> toMap(); PMap merge(PMap read); boolean isEmpty(); @Override String toString();  }### Answer:
@Test public void numericPropertyCanBeRetrievedAsLong() { PMap subject = new PMap("foo=1234|bar=5678"); assertEquals(1234L, subject.getLong("foo", 0)); }