View Javadoc

1   package com.google.code.jetm.reporting;
2   
3   import static org.fest.assertions.Assertions.assertThat;
4   import static org.mockito.Matchers.eq;
5   import static org.mockito.Mockito.mock;
6   import static org.mockito.Mockito.verify;
7   
8   import java.io.StringWriter;
9   import java.util.Collection;
10  import java.util.Collections;
11  import java.util.Map;
12  
13  import org.junit.Test;
14  import org.mockito.ArgumentCaptor;
15  
16  import etm.core.aggregation.Aggregate;
17  
18  /**
19   * Unit tests for {@link BindingMeasurementRenderer}.
20   * 
21   * @author jrh3k5
22   * 
23   */
24  
25  public class BindingMeasurementRendererTest {
26      /**
27       * Test the rendering of collected point data.
28       */
29      @SuppressWarnings({ "rawtypes", "unchecked" })
30      @Test
31      public void testRender() {
32          final StringWriter writer = mock(StringWriter.class);
33          final Aggregate aggregate = mock(Aggregate.class);
34          final AggregateBinder binder = mock(AggregateBinder.class);
35          final Map<String, Aggregate> points = Collections.singletonMap("test", aggregate);
36          
37          final BindingMeasurementRenderer renderer = new BindingMeasurementRenderer(binder, writer);
38          renderer.render(points);
39          
40          final ArgumentCaptor<Collection> aggregatesCaptor = ArgumentCaptor.forClass(Collection.class);
41          verify(binder).bind(aggregatesCaptor.capture(), eq(writer));
42          assertThat(aggregatesCaptor.getValue()).containsOnly(aggregate);
43      }
44  
45  }