GeosupportServiceImpl implements GeosupportService { @Override public Map<String, Object> callGeosupport(final Map<String, Object> clientParams) { final Function function = serviceConfiguration .geosupportFunction(clientParams.get(GEOSUPPORT_FUNCTION_CODE).toString()); return new Call(function, serviceConfiguration.latLongEnhancer()) { @Override public Map<String, Object> userArguments() { return clientParams; } }.execute(); } GeosupportServiceImpl(AppConfig serviceConfiguration); @Override Map<String, Object> callFunctionAP(String houseNumber, String street, String borough, String zip); @Override Map<String, Object> callFunction1B(final String houseNumber, final String street, final String borough,
            final String zip); @Override Map<String, Object> callFunction2(final String crossStreetOne, final String boroughCrossStreetOne,
            final String crossStreetTwo, final String boroughCrossStreetTwo, final String compassDirection); @Override Map<String, Object> callFunction3(final String onStreet, final String boroughOnStreet,
            final String crossStreetOne, final String boroughCrossStreetOne, final String crossStreetTwo,
            final String boroughCrossStreetTwo, final String compassDirection); @Override Map<String, Object> callFunctionBL(final String borough, final String block, final String lot); @Override Map<String, Object> callFunctionBN(final String bin); @Override Map<String, Object> callFunctionHR(); @Override Map<String, Object> callGeosupport(final Map<String, Object> clientParams); @Override Map<String, Object> callFunctionN(String streetName, Integer length, String format); @Override Map<String, Object> callStreetNameFunction(String codeOne, String codeTwo, String codeThree, Integer length, String format); @Override Map<String, Object> callFunctionD(String streetCodeOne, String streetCodeTwo, String streetCodeThree,
            Integer length, String format); @Override Map<String, Object> callFunctionDG(String streetCodeOne, String streetCodeTwo, String streetCodeThree,
            Integer length, String format); @Override Map<String, Object> callFunctionDN(String streetCodeOne, String streetCodeTwo, String streetCodeThree,
            Integer length, String format); Documentation getDocumentation(); @Override Version version();  }
@Test public void testCallGeosupport() { Map<String, Object> arguments = new HashMap<>(); arguments.put(GEOSUPPORT_FUNCTION_CODE, F1AX); mockFunctionCall(F1AX, arguments); Map<String, Object> actualResult = geosupportServiceImpl.callGeosupport(arguments); verifyMocks(actualResult); }