@Test public void includeCurrentMeasures() throws ParseException { TendencyAnalyser analyser = mock(TendencyAnalyser.class); TimeMachineQuery query = new TimeMachineQuery(null).setMetrics(CoreMetrics.LINES, CoreMetrics.COVERAGE); TimeMachine timeMachine = mock(TimeMachine.class); when(timeMachine.getMeasuresFields(query)) .thenReturn( Arrays.<Object[]>asList( new Object[] {date("2009-12-01"), CoreMetrics.LINES, 1200.0}, new Object[] {date("2009-12-01"), CoreMetrics.COVERAGE, 80.5}, new Object[] {date("2009-12-02"), CoreMetrics.LINES, 1300.0}, new Object[] {date("2009-12-02"), CoreMetrics.COVERAGE, 79.6}, new Object[] {date("2009-12-15"), CoreMetrics.LINES, 1150.0})); DecoratorContext context = mock(DecoratorContext.class); when(context.getMeasure(CoreMetrics.LINES)).thenReturn(new Measure(CoreMetrics.LINES, 1400.0)); when(context.getMeasure(CoreMetrics.COVERAGE)).thenReturn(new Measure(CoreMetrics.LINES, 90.0)); TendencyDecorator decorator = new TendencyDecorator(timeMachine, query, analyser, newConf()); decorator.decorate(new JavaPackage("org.foo"), context); verify(analyser).analyseLevel(Arrays.asList(1200.0, 1300.0, 1150.0, 1400.0)); verify(analyser).analyseLevel(Arrays.asList(80.5, 79.6, 90.0)); }
@Test public void initQuery() throws ParseException { Project project = mock(Project.class); when(project.getAnalysisDate()).thenReturn(date("2009-12-25")); MetricFinder metricFinder = mock(MetricFinder.class); when(metricFinder.findAll()) .thenReturn( Arrays.asList( CoreMetrics.LINES, CoreMetrics.COVERAGE, CoreMetrics.COVERAGE_LINE_HITS_DATA, CoreMetrics.PROFILE)); TendencyDecorator decorator = new TendencyDecorator(null, metricFinder, newConf()); TimeMachineQuery query = decorator.initQuery(project); assertThat(query.getMetrics().size(), is(2)); assertThat(query.getMetrics(), hasItems(CoreMetrics.LINES, CoreMetrics.COVERAGE)); assertThat(query.getFrom(), is(date("2009-11-25"))); assertThat(query.isToCurrentAnalysis(), is(true)); }