Package bunchBridgeTests

Source Code of bunchBridgeTests.GraphConverterTest

package bunchBridgeTests;



import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertTrue;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

import org.junit.Before;
import org.junit.Test;

import primitives.cluster.ClusterHead;
import bunch.ClusterFileParser;
import bunch.DependencyFileParser;
import bunchbridge.GraphConverter;

public class GraphConverterTest {
  private primitives.graph.Graph g;
  private primitives.cluster.ClusterHead ch;
  private bunch.Graph bunchG;
  private bunch.Graph clusteredG;

  @Before
  public void setUp() throws Exception {
    g = new primitives.graph.Graph();
    primitives.graph.Node[] nodes = { new primitives.graph.Node("a"),
        new primitives.graph.Node("b"), new primitives.graph.Node("c"),
        new primitives.graph.Node("d") };
    for (primitives.graph.Node n : nodes) {
      g.addNode(n);

    }
    g.connect(nodes[0], nodes[1]);
    g.connect(nodes[1], nodes[2]);
    g.connect(nodes[2], nodes[3]);
    g.connect(nodes[0], nodes[3]);

    // Create temp file.
    File temp = File.createTempFile("bunchTest", ".mdg");

    // Delete temp file when program exits.
    temp.deleteOnExit();

    // Write to temp file
    BufferedWriter out = new BufferedWriter(new FileWriter(temp));
    out.write("a b" + "\nb c" + "\nc d" + "\na d");
    out.close();

    DependencyFileParser parser = new DependencyFileParser();
    parser.setInput(temp.getAbsolutePath());
    bunchG = (bunch.Graph) parser.parse();

    File silFile = File.createTempFile("bunchTest", ".sil");
    silFile.deleteOnExit();
    BufferedWriter silOut = new BufferedWriter(new FileWriter(temp));
    silOut.write("SS(SS-L0:1)=a\n" + "SS(SS-L0:2_4)=b\n"
        + "SS(SS-L0:3)=c\n" + "SS(SS-L0:5)=d\n");
    silOut.close();

    ClusterFileParser cfp = new ClusterFileParser();

    cfp.setInput(silFile.getAbsolutePath());
    cfp.setObject(bunchG);
    cfp.parse();

    clusteredG = bunchG;
    ch = new ClusterHead(g);
  }

  @Test
  public void testConvertToBunchGraph() {

    bunch.Graph converted = GraphConverter.convertToBunchGraph(g);

    for (bunch.Node n : converted.getNodes()) {
      boolean found = false;
      for (bunch.Node orign : bunchG.getNodes()) {
        if (n.getId() == orign.getId()) {
          found = true;
        }
      }
      assertTrue("Node " + n.getId() + " found?", found);
    }

    for (bunch.Node n : converted.getNodes()) {
      boolean found = false;
      for (bunch.Node orign : bunchG.getNodes()) {
        if (n.getName().equals(orign.getName())) {
          found = true;
        }
      }
      assertTrue("Node " + n.getName() + " found?", found);
    }

  }

  @Test
  public void testConvertToBunchCluster() {
    bunch.Graph clusteredConversion = GraphConverter
        .convertToBunchCluster(ch);
    assertArrayEquals(clusteredConversion.getClusters(), clusteredG
        .getClusters());
  }

}
TOP

Related Classes of bunchBridgeTests.GraphConverterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.