Snapshot: Adds path bug tests for the pipelined PM MdVNE algos

which currently break other tests
This commit is contained in:
Maximilian Kratz 2024-04-11 15:34:46 +02:00
parent 17ce1d6fb8
commit eb1dd2c77e
5 changed files with 176 additions and 0 deletions

View file

@ -0,0 +1,36 @@
package test.algorithms.pm.pipeline;
import java.util.Set;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Disabled;
import algorithms.AlgorithmConfig;
import algorithms.AlgorithmConfig.Objective;
import algorithms.pm.VnePmMdvneAlgorithmPipelineThreeStagesA;
import model.SubstrateNetwork;
import model.VirtualNetwork;
import test.algorithms.generic.AVneAlgorithmPathBandwidthBugTest;
/**
* Test class to trigger the minimum path/link bandwidth bug.
*
* @author Maximilian Kratz {@literal <maximilian.kratz@es.tu-darmstadt.de>}
*/
//@Disabled
public class VnePmMdvneAlgorithmPipelineThreeStagesAPathBandwidthBugTest extends AVneAlgorithmPathBandwidthBugTest {
@Override
public void initAlgo(final SubstrateNetwork sNet, final Set<VirtualNetwork> vNets) {
algo = VnePmMdvneAlgorithmPipelineThreeStagesA.prepare(sNet, vNets);
}
@AfterEach
public void resetAlgo() {
facade.resetAll();
if (algo != null) {
((VnePmMdvneAlgorithmPipelineThreeStagesA) algo).dispose();
}
}
}

View file

@ -0,0 +1,36 @@
package test.algorithms.pm.pipeline;
import java.util.Set;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Disabled;
import algorithms.AlgorithmConfig;
import algorithms.AlgorithmConfig.Objective;
import algorithms.pm.VnePmMdvneAlgorithmPipelineThreeStagesB;
import model.SubstrateNetwork;
import model.VirtualNetwork;
import test.algorithms.generic.AVneAlgorithmPathBandwidthBugTest;
/**
* Test class to trigger the minimum path/link bandwidth bug.
*
* @author Maximilian Kratz {@literal <maximilian.kratz@es.tu-darmstadt.de>}
*/
//@Disabled
public class VnePmMdvneAlgorithmPipelineThreeStagesBPathBandwidthBugTest extends AVneAlgorithmPathBandwidthBugTest {
@Override
public void initAlgo(final SubstrateNetwork sNet, final Set<VirtualNetwork> vNets) {
algo = VnePmMdvneAlgorithmPipelineThreeStagesB.prepare(sNet, vNets);
}
@AfterEach
public void resetAlgo() {
facade.resetAll();
if (algo != null) {
((VnePmMdvneAlgorithmPipelineThreeStagesB) algo).dispose();
}
}
}

View file

@ -0,0 +1,36 @@
package test.algorithms.pm.pipeline;
import java.util.Set;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Disabled;
import algorithms.AlgorithmConfig;
import algorithms.AlgorithmConfig.Objective;
import algorithms.pm.VnePmMdvneAlgorithmPipelineTwoStagesRackA;
import model.SubstrateNetwork;
import model.VirtualNetwork;
import test.algorithms.generic.AVneAlgorithmPathBandwidthBugTest;
/**
* Test class to trigger the minimum path/link bandwidth bug.
*
* @author Maximilian Kratz {@literal <maximilian.kratz@es.tu-darmstadt.de>}
*/
//@Disabled
public class VnePmMdvneAlgorithmPipelineTwoStagesRackAPathBandwidthBugTest extends AVneAlgorithmPathBandwidthBugTest {
@Override
public void initAlgo(final SubstrateNetwork sNet, final Set<VirtualNetwork> vNets) {
algo = VnePmMdvneAlgorithmPipelineTwoStagesRackA.prepare(sNet, vNets);
}
@AfterEach
public void resetAlgo() {
facade.resetAll();
if (algo != null) {
((VnePmMdvneAlgorithmPipelineTwoStagesRackA) algo).dispose();
}
}
}

View file

@ -0,0 +1,36 @@
package test.algorithms.pm.pipeline;
import java.util.Set;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Disabled;
import algorithms.AlgorithmConfig;
import algorithms.AlgorithmConfig.Objective;
import algorithms.pm.VnePmMdvneAlgorithmPipelineTwoStagesRackB;
import model.SubstrateNetwork;
import model.VirtualNetwork;
import test.algorithms.generic.AVneAlgorithmPathBandwidthBugTest;
/**
* Test class to trigger the minimum path/link bandwidth bug.
*
* @author Maximilian Kratz {@literal <maximilian.kratz@es.tu-darmstadt.de>}
*/
//@Disabled
public class VnePmMdvneAlgorithmPipelineTwoStagesRackBPathBandwidthBugTest extends AVneAlgorithmPathBandwidthBugTest {
@Override
public void initAlgo(final SubstrateNetwork sNet, final Set<VirtualNetwork> vNets) {
algo = VnePmMdvneAlgorithmPipelineTwoStagesRackB.prepare(sNet, vNets);
}
@AfterEach
public void resetAlgo() {
facade.resetAll();
if (algo != null) {
((VnePmMdvneAlgorithmPipelineTwoStagesRackB) algo).dispose();
}
}
}

View file

@ -0,0 +1,32 @@
package test.algorithms.pm.pipeline;
import java.util.Set;
import org.junit.jupiter.api.AfterEach;
import algorithms.pm.VnePmMdvneAlgorithmPipelineTwoStagesVnet;
import model.SubstrateNetwork;
import model.VirtualNetwork;
import test.algorithms.generic.AVneAlgorithmPathBandwidthBugTest;
/**
* Test class to trigger the minimum path/link bandwidth bug.
*
* @author Maximilian Kratz {@literal <maximilian.kratz@es.tu-darmstadt.de>}
*/
public class VnePmMdvneAlgorithmPipelineTwoStagesVnetPathBandwidthBugTest extends AVneAlgorithmPathBandwidthBugTest {
@Override
public void initAlgo(final SubstrateNetwork sNet, final Set<VirtualNetwork> vNets) {
algo = VnePmMdvneAlgorithmPipelineTwoStagesVnet.prepare(sNet, vNets);
}
@AfterEach
public void resetAlgo() {
facade.resetAll();
if (algo != null) {
((VnePmMdvneAlgorithmPipelineTwoStagesVnet) algo).dispose();
}
}
}