package br.uff.ic.oceano.experiments.ostra;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import br.uff.ic.oceano.core.factory.MetricManagerFactory;
import br.uff.ic.oceano.core.factory.ObjectFactory;
import br.uff.ic.oceano.core.tools.metrics.service.MetricService;
import br.uff.ic.oceano.ostra.model.DataMiningResult;
import br.uff.ic.oceano.ostra.service.DataMiningResultService;
import junit.framework.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
*
* @author Daniel
*/
public class TesteOstra {
static final StringBuilder originalResultString = new StringBuilder();
static final StringBuilder desiredResultString = new StringBuilder();
public TesteOstra() {
}
@BeforeClass
public static void setUpClass() throws Exception {
originalResultString.append("=== Run information ===\n");
originalResultString.append("\n");
originalResultString.append("Scheme: weka.associations.Apriori -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -c -1\n");
originalResultString.append("Relation: Oceano 17/08/10 - 01:35:12\n");
originalResultString.append("Instances: 25\n");
originalResultString.append("Attributes: 10\n");
originalResultString.append(" project-revision\n");
originalResultString.append(" rdate\n");
originalResultString.append(" rcommiter\n");
originalResultString.append(" #files\n");
originalResultString.append(" dAvg-Number Of Attributes\n");
originalResultString.append(" dAvg-Method Lines Of Code\n");
originalResultString.append(" dAvg-Number Of Static Methods\n");
originalResultString.append(" dAvg-Cyclomatic Complexity\n");
originalResultString.append(" dAvg-Number Of Static Attributes\n");
originalResultString.append(" dAvg-Weighted Methods Per Class\n");
originalResultString.append("=== Associator model (full training set) ===\n");
originalResultString.append("\n");
originalResultString.append("\n");
originalResultString.append("Apriori\n");
originalResultString.append("=======\n");
originalResultString.append("\n");
originalResultString.append("Minimum support: 0.55 (14 instances)\n");
originalResultString.append("Minimum metric <confidence>: 0.9\n");
originalResultString.append("Number of cycles performed: 9\n");
originalResultString.append("\n");
originalResultString.append("Generated sets of large itemsets:\n");
originalResultString.append("\n");
originalResultString.append("Size of set of large itemsets L(1): 6\n");
originalResultString.append("\n");
originalResultString.append("Size of set of large itemsets L(2): 6\n");
originalResultString.append("\n");
originalResultString.append("Size of set of large itemsets L(3): 2\n");
originalResultString.append("\n");
originalResultString.append("Best rules found:\n");
originalResultString.append("\n");
originalResultString.append(" 1. dAvg-Weighted Methods Per Class=+ 18 ==> dAvg-Method Lines Of Code=+ 18 conf:(1)\n");
originalResultString.append(" 2. dAvg-Method Lines Of Code=+ 18 ==> dAvg-Weighted Methods Per Class=+ 18 conf:(1)\n");
originalResultString.append(" 3. dAvg-Cyclomatic Complexity=+ 16 ==> dAvg-Method Lines Of Code=+ 16 conf:(1)\n");
originalResultString.append(" 4. dAvg-Cyclomatic Complexity=+ 16 ==> dAvg-Weighted Methods Per Class=+ 16 conf:(1)\n");
originalResultString.append(" 5. dAvg-Cyclomatic Complexity=+ dAvg-Weighted Methods Per Class=+ 16 ==> dAvg-Method Lines Of Code=+ 16 conf:(1)\n");
originalResultString.append(" 6. dAvg-Method Lines Of Code=+ dAvg-Cyclomatic Complexity=+ 16 ==> dAvg-Weighted Methods Per Class=+ 16 conf:(1)\n");
originalResultString.append(" 7. dAvg-Cyclomatic Complexity=+ 16 ==> dAvg-Method Lines Of Code=+ dAvg-Weighted Methods Per Class=+ 16 conf:(1)\n");
originalResultString.append(" 8. #files=1- dAvg-Weighted Methods Per Class=+ 14 ==> dAvg-Method Lines Of Code=+ 14 conf:(1)\n");
originalResultString.append(" 9. #files=1- dAvg-Method Lines Of Code=+ 14 ==> dAvg-Weighted Methods Per Class=+ 14 conf:(1)\n");
originalResultString.append("10. dAvg-Number Of Static Methods=- 17 ==> #files=1- 16 conf:(0.94)\n");
desiredResultString.append("=== Run information ===\n");
desiredResultString.append("\n");
desiredResultString.append("Scheme: weka.associations.Apriori -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -c -1\n");
desiredResultString.append("Relation: Oceano 17/08/10 - 01:35:12\n");
desiredResultString.append("Instances: 25\n");
desiredResultString.append("Attributes: 10\n");
desiredResultString.append(" project-revision\n");
desiredResultString.append(" rdate\n");
desiredResultString.append(" rcommiter\n");
desiredResultString.append(" #files\n");
desiredResultString.append(" dAvg-Number Of Attributes\n");
desiredResultString.append(" dAvg-Method Lines Of Code\n");
desiredResultString.append(" dAvg-Number Of Static Methods\n");
desiredResultString.append(" dAvg-Cyclomatic Complexity\n");
desiredResultString.append(" dAvg-Number Of Static Attributes\n");
desiredResultString.append(" dAvg-Weighted Methods Per Class\n");
desiredResultString.append("=== Associator model (full training set) ===\n");
desiredResultString.append("\n");
desiredResultString.append("\n");
desiredResultString.append("Apriori\n");
desiredResultString.append("=======\n");
desiredResultString.append("\n");
desiredResultString.append("Minimum support: 0.55 (14 instances)\n");
desiredResultString.append("Minimum metric <confidence>: 0.9\n");
desiredResultString.append("Number of cycles performed: 9\n");
desiredResultString.append("\n");
desiredResultString.append("Generated sets of large itemsets:\n");
desiredResultString.append("\n");
desiredResultString.append("Size of set of large itemsets L(1): 6\n");
desiredResultString.append("\n");
desiredResultString.append("Size of set of large itemsets L(2): 6\n");
desiredResultString.append("\n");
desiredResultString.append("Size of set of large itemsets L(3): 2");
}
// @Test
public void cleanMiningResultsResultString() {
DataMiningResult dmr = new DataMiningResult();
dmr.setResultData(originalResultString.toString());
DataMiningResultService.cleanDataMiningResult(dmr);
Assert.assertEquals(dmr.getResultData(), desiredResultString.toString());
}
@Test
public void getAllMetrics() {
MetricService metricService = ObjectFactory.getObjectWithDataBaseDependencies(MetricService.class);
metricService.getAll();
}
// @Test
public void loadMetrics() {
MetricManagerFactory.getInstance();
}
}