/* * */ package br.uff.ic.oceano.ostra.service; import br.uff.ic.oceano.CppProjectsHelper; import br.uff.ic.oceano.core.exception.ServiceException; import br.uff.ic.oceano.core.factory.MetricManagerFactory; import br.uff.ic.oceano.core.factory.ObjectFactory; import br.uff.ic.oceano.core.model.Metric; import br.uff.ic.oceano.core.model.SoftwareProject; import br.uff.ic.oceano.core.tools.metrics.MetricEnumeration; import br.uff.ic.oceano.core.tools.metrics.MetricManager; import br.uff.ic.oceano.ostra.discretizer.Discretizer; import br.uff.ic.oceano.ostra.model.DataBaseSnapshot; import br.uff.ic.oceano.ostra.tools.datamining.util.DatabaseToArffService; import br.uff.ic.oceano.util.test.AbstractNGTest; import java.util.ArrayList; import java.util.List; import junit.framework.Assert; import static org.testng.Assert.*; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; /** * * @author Daniel Heraclio <dheraclio@gmail.com> */ public class DeltaMetricsRevisionDataBaseServiceNGTest extends AbstractNGTest { private DeltaMetricsRevisionDataBaseService deltaMetricsRevisionDataBaseService; @BeforeClass public void setUpClass() throws Exception { this.deltaMetricsRevisionDataBaseService = ObjectFactory.getObjectWithDataBaseDependencies(DeltaMetricsRevisionDataBaseService.class); //clear deltas in database before run test //delete from metricvalue where delta=true } /** */ @Test public void testBuildDeltaMetricsDataBase() throws Exception { final List<Discretizer> discretizers = DeltaMetricsRevisionDataBaseService.getDefaultDiscretizers(); final List<Metric> metrics = getMetrics(); final List<SoftwareProject> projects = getProjects(); DataBaseSnapshot snapshot = deltaMetricsRevisionDataBaseService.buildDeltaMetricsDataBase(projects, discretizers, true, false, metrics, true); println("ARRF"); println(DatabaseToArffService.dataBaseToARFF(snapshot, discretizers)); } private List<SoftwareProject> getProjects() throws ServiceException { try { List<SoftwareProject> projects = new ArrayList<SoftwareProject>(); SoftwareProject neopzLocal = CppProjectsHelper.getDBNeoPZProject(); assertNotNull(neopzLocal); projects.add(neopzLocal); return projects; } catch (Exception ex) { throw new ServiceException(ex); } } private List<Metric> getMetrics() throws ServiceException { List<Metric> metrics = new ArrayList(); MetricManagerFactory fact = MetricManagerFactory.getInstance(); final MetricManager mng = fact.getMetricByName(MetricEnumeration.TLOC.getName()); Assert.assertNotNull(mng); metrics.add(mng.getMetric()); // for (MetricManager mngTemp : fact.getMetricManagers()) { // if (!mngTemp.isLanguageSupported(Language.CPP)) { // continue; // } // metrics.add(mngTemp.getMetric()); // } return metrics; } }