SymbolMapper implements SULMapper<
        String,
        String,
        ContextExecutableInput<ExecuteResult, ConnectorManager>,
        ExecuteResult> { @Override public ContextExecutableInput<ExecuteResult, ConnectorManager> mapInput(String abstractInput) { return symbolMap.get(abstractInput); } SymbolMapper(List<ParameterizedSymbol> symbols); private  SymbolMapper(Map<String, ParameterizedSymbol> symbolMap); void addSymbol(ParameterizedSymbol symbol); @Override ContextExecutableInput<ExecuteResult, ConnectorManager> mapInput(String abstractInput); @Override String mapOutput(ExecuteResult result); @Override MappedException<? extends String> mapUnwrappedException(RuntimeException e); @Override MappedException<? extends String> mapWrappedException(SULException e); @Override void post(); @Override void pre(); @Override boolean canFork(); @Nonnull @Override SULMapper<String, String, ContextExecutableInput<ExecuteResult, ConnectorManager>, ExecuteResult> fork();  }
@Test public void shouldMapInputStringToCorrectSymbol() { Assert.assertEquals(ps1, sm.mapInput("s1")); Assert.assertEquals(ps2, sm.mapInput("s2 <test>")); }