Something went wrong on our end
-
Peter Wagenhuber authoredPeter Wagenhuber authored
TestNloc.java 3.34 KiB
package nloc;
public class TestNloc {
public static void main(String[] args) {
List<Channel> chanlist = getNloc0();
Channel p0 = chanlist.get(chanlist.size() - 2);
List<Channel> mod = getModulesByName(Arrays.asList("m1","m2"), chanlist);
List<List<Channel>> pathlist = getAllPaths(p0, new ArrayList<Channel>());
printPaths(pathlist);
List<Channel> desiredPath = getDesiredPath(mod, pathlist);
System.out.println("Desired Path:");
if (desiredPath.isEmpty()) {
System.out.println("No such Path!");
} else {
printPath(desiredPath);
}
System.out.println("Number of Droplets needed: " + getNumberOfDroplets(desiredPath));
}
public static void printPath(List<Channel> path) {
for (Channel ch : path) {
System.out.print("ID: " + ch.getID() + " ");
}
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> getNloc0() {
Channel chan0 = new Channel(6,6);
Channel chan1 = new Channel(8,8);
Channel chan2 = new Channel(9,9);
Channel chan3 = new Channel(11,12);
Channel chan4 = new Channel(19,21);
Channel chan5 = new Channel(5,5);
Channel chan6 = new Channel(8,8);
Channel chan7 = new Channel(9,10);
Channel chan8 = new Channel(25,28);
Module m0 = new Module("m0", 22,10);
Module m1 = new Module("m1", 10,10);
Pump p0 = new Pump();
Sink s0 = new Sink();
List<Channel> chanlist = Arrays.asList(chan0, chan1, chan2, chan3, chan4,
chan5, chan6, chan7, chan8, m0, m1, p0, s0);
p0.addChild(chan0);
chan0.addChild(chan1);
chan1.addChild(chan2);
chan1.addChild(chan3);
chan2.addChild(chan4);
chan3.addChild(chan5);
chan5.addChild(m0);
m0.addChild(chan6);
chan4.addChild(chan7);
chan6.addChild(chan7);
chan7.addChild(m1);
m1.addChild(chan8);
chan8.addChild(s0);
return chanlist;
}
public static List<Channel> getNloc3() {
Channel chan0 = new Channel(6,6);
Channel chan1 = new Channel(8,8);
Channel chan2 = new Channel(9,9);
Channel chan3 = new Channel(11,12);
Channel chan4 = new Channel(19,21);
Channel chan5 = new Channel(5,5);
Channel chan6 = new Channel(8,8);
Channel chan7 = new Channel(9,10);
Channel chan8 = new Channel(25,28);
Channel chan9 = new Channel(25,28);
Channel chan10 = new Channel(25,28);
Module m0 = new Module("m0", 22,10);
Module m1 = new Module("m1", 10,10);
Module m2 = new Module("m2", 22,10);
Module m3 = new Module("m3", 10,10);
Pump p0 = new Pump();
Sink s0 = new Sink();
List<Channel> chanlist = Arrays.asList(chan0, chan1, chan2, chan3, chan4,
chan5, chan6, chan7, chan8, chan9, chan10, m0, m1, m2, m3, p0, s0);
p0.addChild(chan0);
chan0.addChild(chan1);
chan0.addChild(chan2);
chan1.addChild(m0);
m0.addChild(chan3);
chan3.addChild(chan5);
chan2.addChild(m1);
m1.addChild(chan4);
chan4.addChild(chan5);
chan5.addChild(chan6);
chan5.addChild(chan7);
chan6.addChild(m2);
chan7.addChild(m3);
m2.addChild(chan8);
m3.addChild(chan9);
chan8.addChild(chan10);
chan9.addChild(chan10);
chan10.addChild(s0);
return chanlist;
}
}