package i5.las2peer.services.ocd.adapters.coverOutput; import i5.las2peer.services.ocd.adapters.AdapterException; import i5.las2peer.services.ocd.adapters.coverOutput.CoverOutputAdapter; import i5.las2peer.services.ocd.adapters.coverOutput.DefaultXmlCoverOutputAdapter; import i5.las2peer.services.ocd.graphs.Cover; import i5.las2peer.services.ocd.graphs.CoverCreationLog; import i5.las2peer.services.ocd.graphs.CoverCreationType; import i5.las2peer.services.ocd.graphs.CustomGraph; import i5.las2peer.services.ocd.graphs.GraphType; import i5.las2peer.services.ocd.metrics.OcdMetricLog; import i5.las2peer.services.ocd.metrics.OcdMetricType; import i5.las2peer.services.ocd.testsUtils.OcdTestConstants; import java.awt.Color; import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; import java.util.HashSet; import org.junit.Test; import org.la4j.matrix.Matrix; import org.la4j.matrix.sparse.CCSMatrix; import y.base.Edge; import y.base.Node; public class XmlCoverOutputAdapterTest { private static final String userName = "coverPersistenceUser"; private static final String graphName = "coverPersistenceGraph"; private static final String coverName = "coverPersistenceCover"; @Test public void test() throws AdapterException, IOException { CustomGraph graph = new CustomGraph(); graph.setUserName(userName); graph.setName(graphName); Node nodeA = graph.createNode(); Node nodeB = graph.createNode(); Node nodeC = graph.createNode(); graph.setNodeName(nodeA, "A"); graph.setNodeName(nodeB, "B"); graph.setNodeName(nodeC, "C"); Edge edgeAB = graph.createEdge(nodeA, nodeB); graph.setEdgeWeight(edgeAB, 5); Edge edgeBC = graph.createEdge(nodeB, nodeC); graph.setEdgeWeight(edgeBC, 2.5); Matrix memberships = new CCSMatrix(3, 2); memberships.set(0, 0, 1); memberships.set(1, 0, 0.5); memberships.set(1, 1, 0.5); memberships.set(2, 1, 1); HashMap<String, String> params = new HashMap<String, String>(); params.put("param1", "val1"); params.put("param2", "val2"); CoverCreationLog algo = new CoverCreationLog(CoverCreationType.UNDEFINED, params, new HashSet<GraphType>()); Cover cover = new Cover(graph, memberships); cover.setCreationMethod(algo); cover.setName(coverName); cover.setCommunityColor(1, Color.BLUE); cover.setCommunityName(1, "Community1"); OcdMetricLog metric = new OcdMetricLog(OcdMetricType.EXECUTION_TIME, 3.55, params, cover); cover.addMetric(metric); CoverOutputAdapter adapter = new DefaultXmlCoverOutputAdapter(); adapter.setWriter(new FileWriter(OcdTestConstants.testXmlCoverOutputPath)); adapter.writeCover(cover); } }