Skip to content
Snippets Groups Projects
TestNloc.java 5.25 KiB
Newer Older
  • Learn to ignore specific revisions
  • import java.util.List;
    import java.util.ArrayList;
    import java.util.ListIterator;
    import java.util.Arrays;
    
    
    public class TestNloc {
    
    
      public static void main(String[] args) {
    
    
        //Nloc nlS1 = new Nloc(getNlocS1());
    
        //Nloc nlS1 = new Nloc(getNlocS1());
        //
    
        Nloc nlS1 = new Nloc(getNlocS1());
        Nloc nlS6 = new Nloc(getNlocS6());
    
        List<List<Channel>> pathlist = nlS6.getAllPaths();
    
        Pump pump = nlS6.getPump();
        Channel ch = nlS6.getModuleByName("ch17");
        List<List<Channel>> pathlist1 = nlS1.getAllPathsFromTo(pump, ch);
    
      public static void printPath(List<Channel> path) {
        for (Channel ch : path) {
    
          if (path.indexOf(ch) == (path.size() - 1)) {
    
            System.out.print(ch.getName());
          } else {
            System.out.print(ch.getName() + " -> ");
          }
    
        }
        System.out.println("");
      }
    
      public static void printPaths(List<List<Channel>> pathlist) {
        System.out.println("Number of paths found: " + pathlist.size());
        for (List<Channel> p : pathlist) {
          printPath(p);
        }
      }
    
    
      public static List<Channel> getNlocS1() {
    
        // channel(name, psteps, hsteps)
        Channel ch1 = new Channel("ch1",1,1);
        Channel ch2 = new Channel("ch2",1,1);
        Channel ch3 = new Channel("ch3",1,1);
        Channel ch4 = new Channel("ch4",1,1);
        Channel ch5 = new Channel("ch5",1,1);
        Channel ch6 = new Channel("ch6",1,1);
        Channel ch7 = new Channel("ch7",1,1);
        Channel ch8 = new Channel("ch8",1,1);
        Channel ch9 = new Channel("ch9",1,1);
        Channel ch10 = new Channel("ch10",1,1);
        Channel ch11 = new Channel("ch11",1,1);
        Channel ch12 = new Channel("ch12",1,1);
        Channel ch13 = new Channel("ch13",1,1);
        Channel ch14 = new Channel("ch14",1,1);
        Channel ch15 = new Channel("ch15",1,1);
    
        Module m0 = new Module("m0", 5,1);
        Module m1 = new Module("m1", 5,1);
        Module m2 = new Module("m2", 5,1);
        Module d1 = new Module("d1", 5,1);
        Module d2 = new Module("d2", 5,1);
        Module h1 = new Module("h1", 5,1);
        Module h2 = new Module("h2", 5,1);
        Module f2 = new Module("f2", 5,1);
    
    
        Pump p0 = new Pump();
        Sink s0 = new Sink();
    
    
        List<Channel> chlist = Arrays.asList(ch1, ch2, ch3, ch4, ch5, ch6, ch7, 
            ch8, ch9, ch10, ch11, ch12, ch13, ch14, ch15, m0, m1, m2, d1, d2, h1, 
            h2, f2, p0, s0);
    
        p0.addChild(ch1);
        p0.addChild(ch2);
        p0.addChild(ch3);
    
        ch1.addChild(m2);
        m2.addChild(ch4);
        ch4.addChild(d2);
        d2.addChild(ch6);
    
        ch2.addChild(h2);
        h2.addChild(ch5);
    
        ch6.addChild(ch7);
        ch5.addChild(ch7);
        ch3.addChild(ch7);
    
        ch7.addChild(m1);
        m1.addChild(ch8);
        ch8.addChild(f2);
        f2.addChild(ch9);
    
        ch9.addChild(ch11);
        ch9.addChild(ch10);
    
        ch11.addChild(h1);
        h1.addChild(ch12);
    
        ch12.addChild(ch13);
        ch10.addChild(ch13);
    
        ch13.addChild(m0);
        m0.addChild(ch14);
        ch14.addChild(d1);
        d1.addChild(ch15);
        
        ch15.addChild(s0);
    
      public static List<Channel> getNlocS6() {
    
        // channel(name, psteps, hsteps)
        Channel ch1 = new Channel("ch1",1,1);
        Channel ch2 = new Channel("ch2",1,1);
        Channel ch3 = new Channel("ch3",1,1);
        Channel ch4 = new Channel("ch4",1,1);
        Channel ch5 = new Channel("ch5",1,1);
        Channel ch6 = new Channel("ch6",1,1);
        Channel ch7 = new Channel("ch7",1,1);
        Channel ch8 = new Channel("ch8",1,1);
        Channel ch9 = new Channel("ch9",1,1);
        Channel ch10 = new Channel("ch10",1,1);
        Channel ch11 = new Channel("ch11",1,1);
        Channel ch12 = new Channel("ch12",1,1);
        Channel ch13 = new Channel("ch13",1,1);
        Channel ch14 = new Channel("ch14",1,1);
        Channel ch15 = new Channel("ch15",1,1);
        Channel ch16 = new Channel("ch16",1,1);
        Channel ch17 = new Channel("ch17",1,1);
        Channel ch18 = new Channel("ch18",1,1);
        Channel ch19 = new Channel("ch19",1,1);
        Channel ch20 = new Channel("ch20",1,1);
    
        Module m0 = new Module("m0", 5,1);
        Module m1 = new Module("m1", 5,1);
        Module m3 = new Module("m3", 5,1);
        Module m4 = new Module("m4", 5,1);
        Module m5 = new Module("m5", 5,1);
        Module h0 = new Module("h0", 5,1);
        Module h3 = new Module("h3", 5,1);
        Module d1 = new Module("d1", 5,1);
    
        List<Channel> chlist = Arrays.asList(ch1, ch2, ch3, ch4, ch5, ch6, ch7, 
            ch8, ch9, ch10, ch11, ch12, ch13, ch14, ch15, ch16, ch17, ch18, ch19,
            ch20, m0, m1, m3, m4, m5, h0, h3, d1, p0, s0);
    
        p0.addChild(ch1);
        p0.addChild(ch2);
    
        ch2.addChild(h3);
        h3.addChild(ch4);
    
        ch1.addChild(m4);
        m4.addChild(ch3);
    
        ch3.addChild(ch5);
        ch3.addChild(ch6);
    
        ch5.addChild(d1);
        d1.addChild(ch7);
    
        ch7.addChild(ch8);
        ch6.addChild(ch8);
        ch4.addChild(ch8);
    
        ch8.addChild(m1);
        m1.addChild(ch9);
        ch9.addChild(ch10);
        ch9.addChild(ch11);
    
        ch10.addChild(ch12);
        ch12.addChild(m3);
        m3.addChild(ch13);
    
        ch13.addChild(ch14);
        ch13.addChild(ch15);
    
        ch14.addChild(h0);
        h0.addChild(ch16);
    
        ch15.addChild(ch17);
        ch11.addChild(ch17);
    
        ch17.addChild(m0);
        m0.addChild(ch18);
    
        ch16.addChild(ch19);
        ch18.addChild(ch19);
    
        ch19.addChild(m5);
        m5.addChild(ch20);