### Question:
AnnotationDefinitionFactory { public List<ParameterLog> buildParameterLogs(Set<String> loggerNames, Method method) { List<Log> logs = annotationExtractor.findParameterLogs(method, loggerNames); Iterator<Log> logIterator = logs.iterator(); return Stream.of(method.getParameterTypes()) .map(clazz -> buildParameterLog(logIterator.next(), clazz)) .collect(toList()); } AnnotationDefinitionFactory(PrinterResolver printerResolver); InLog buildInLog(Set<String> loggerNames, Method method); List<ParameterLog> buildParameterLogs(Set<String> loggerNames, Method method); OutLog buildOutLog(Set<String> loggerNames, Method method); Set<ErrorLog> buildErrorLogs(Set<String> loggerNames, Method method); Set<ParameterMdc> buildMethodParameterMdcs(Method method); List<Set<ParameterMdc>> buildParameterMdcs(Method method);  }### Answer:
@Test public void buildParameterLogs() throws NoSuchMethodException { Set<String> loggerNames = singleton(""); Method method = LogInLoggableClass.class.getDeclaredMethod("parameterLog", String.class, String.class); List<ParameterLog> parameterLogs = annotationDefinitionFactory.buildParameterLogs(loggerNames, method); assertThat(parameterLogs, hasSize(2)); assertThat(parameterLogs.get(0).getIfEnabledLevel(), is(WARN)); assertThat(parameterLogs.get(1), nullValue()); }