ParseHelper { public Object parse(String s) throws Exception { if (isSymbolGetter(s)) { return parseSymbol(s); } String trim = s.trim(); if (trim.toLowerCase().equals("null")) { return null; } if (type.equals(String.class) && Options.isFixedLengthStringParsing() && trim.startsWith("'") && trim.endsWith("'")) { return trim.substring(1, trim.length() - 1); } TypeAdapter ta = TypeAdapter.adapterFor(type); ta.init(fixture, type); return ta.parse(s); } ParseHelper(Fixture fixture, Class<?> type); Object parse(String s);  }
@Test public void canParseNonNullSymbols() throws Exception { assertEquals("X", parseHelper.parse("<<SYMBOL_X")); }
@Test public void canParseNullSymbols() throws Exception { assertNull(parseHelper.parse("<<NULL_SYMBOL")); }
@Test public void undefinedSymbolDefaultsToNull() throws Exception { assertNull(parseHelper.parse("<<MISSING_SYMBOL")); }