@Test
public void aggregationURI() {
final HttpTimerData data = new HttpTimerData();
data.getHttpInfo().setUri("URI");
data.getHttpInfo().setRequestMethod("GET");
data.setDuration(100d);
data.setCpuDuration(10d);
data.calculateCpuMin(10d);
data.calculateCpuMax(10d);
data.setCpuDuration(10d);
final HttpTimerData data2 = new HttpTimerData();
data2.getHttpInfo().setUri("URI");
data2.getHttpInfo().setRequestMethod("POST");
data2.setDuration(500d);
data2.calculateCpuMin(20d);
data2.calculateCpuMax(20d);
data2.setCpuDuration(20d);
final List<HttpTimerData> input = new ArrayList<>();
Collections.addAll(input, data, data2);
AggregationPerformer<HttpTimerData> aggregationPerformer = new AggregationPerformer<>(new HttpTimerDataAggregator(true, false));
aggregationPerformer.processCollection(input);
final List<HttpTimerData> output = aggregationPerformer.getResultList();
assertThat(output, is(notNullValue()));
assertThat(output.size(), is(equalTo(1)));
HttpTimerData result = output.get(0);
assertThat(result.getHttpInfo().getUri(), is(equalTo("URI")));
assertThat(result.getHttpInfo().hasInspectItTaggingHeader(), is(equalTo(false)));
assertThat(result.getDuration(), is(equalTo(600d)));
assertThat(result.getCpuDuration(), is(equalTo(30d)));
}