/* * Sonar, open source software quality management tool. * Copyright (C) 2009 SonarSource * mailto:contact AT sonarsource DOT com * * Sonar is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * Sonar is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sonar; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 */ package org.sonar.plugins.qi; import com.google.common.collect.Lists; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import org.junit.Test; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.sonar.api.batch.DecoratorContext; import org.sonar.api.measures.Measure; import java.util.Collection; public class ComplexityDistributionDecoratorTest { @Test public void testDependedUpon() { ComplexityDistributionDecorator decorator = new ComplexityDistributionDecorator(); assertThat(decorator.dependedUpon(), is(QIMetrics.QI_COMPLEX_DISTRIBUTION)); } @Test public void testComputeComplexityDistribution() { DecoratorContext context = mock(DecoratorContext.class); Collection<Measure> measures = Lists.newArrayList( new Measure(QIMetrics.QI_COMPLEX_DISTRIBUTION, "1=0;2=0;10=0;20=1;30=4"), new Measure(QIMetrics.QI_COMPLEX_DISTRIBUTION, "1=3;2=2;10=0;20=9;30=4"), new Measure(QIMetrics.QI_COMPLEX_DISTRIBUTION, "1=0;2=0;10=0;20=1;30=4") ); when(context.getChildrenMeasures(QIMetrics.QI_COMPLEX_DISTRIBUTION)). thenReturn(measures); ComplexityDistributionDecorator decorator = new ComplexityDistributionDecorator(); Measure measure = decorator.computeComplexityDistribution(context, QIPlugin.COMPLEXITY_BOTTOM_LIMITS); Measure measure2 = new Measure(QIMetrics.QI_COMPLEX_DISTRIBUTION, "1=3;2=2;10=0;20=11;30=12"); assertThat(measure.getData(), is(measure2.getData())); } }