### Question:
PageInterceptor implements Interceptor { protected Object extractRealParameterObject(Object parameterObj) { if (!(parameterObj instanceof Map<?, ?>)) { return parameterObj; } Map<?, ?> parameterMap = (Map<?, ?>) parameterObj; if (parameterMap.size() != 2) { return parameterObj; } boolean springMapWithNoParamName = true; for (Object key : parameterMap.keySet()) { if (!(key instanceof String)) { springMapWithNoParamName = false; break; } String keyStr = (String) key; if (!"0".equals(keyStr) && !"1".equals(keyStr)) { springMapWithNoParamName = false; break; } } if (springMapWithNoParamName) { for (Object value : parameterMap.values()) { if (!(value instanceof Page<?>)) { return value; } } } return parameterObj; }  String getDatabaseType(); void setDatabaseType(String databaseType); @Override Object plugin(Object target); @Override void setProperties(Properties properties); @Override @SuppressWarnings({ "unchecked", "rawtypes" }) Object intercept(Invocation invocation); static final String MYSQL; static final String ORACLE; }### Answer:
@Test public void testExtractRealParameterObject() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { Method method = interceptor.getClass().getDeclaredMethod("extractRealParameterObject", Object.class); method.setAccessible(true); Map<String, String> map = new HashMap<>(); map.put("0", "0"); map.put("1", "1"); Object obj = method.invoke(interceptor, map); assertEquals("0",obj.toString()); }