use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class OfflineBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodOfflines")
public void testGoodSignatures(String str, int nbNodes, boolean c) throws Exception {
ScriptBuilder b = new ScriptBuilder(new DefaultModel());
Set<SatConstraint> cstrs = b.build("namespace test; VM[1..10] : tiny;\n@N[1..20] : defaultNode;" + str).getConstraints();
Assert.assertEquals(cstrs.size(), nbNodes);
Set<Node> nodes = new HashSet<>();
for (SatConstraint x : cstrs) {
Assert.assertTrue(nodes.addAll(x.getInvolvedNodes()));
Assert.assertEquals(x.getInvolvedNodes().size(), 1);
Assert.assertEquals(x.isContinuous(), c);
}
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class OnlineBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodOnlines")
public void testGoodSignatures(String str, int nbNodes, boolean c) throws Exception {
ScriptBuilder b = new ScriptBuilder(new DefaultModel());
Set<SatConstraint> cstrs = b.build("namespace test; VM[1..10] : tiny;\n@N[1..20] : defaultNode;\n" + str).getConstraints();
Assert.assertEquals(cstrs.size(), nbNodes);
Set<Node> nodes = new HashSet<>();
for (SatConstraint x : cstrs) {
Assert.assertTrue(nodes.addAll(x.getInvolvedNodes()));
Assert.assertEquals(x.getInvolvedNodes().size(), 1);
Assert.assertEquals(x.isContinuous(), c);
}
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class OverbookBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodOverbooks")
public void testGoodSignatures(String str, int nbNodes, String rcId, double ratio) throws Exception {
ScriptBuilder b = new ScriptBuilder(new DefaultModel());
Set<SatConstraint> cstrs = b.build("namespace test; VM[1..10] : tiny;\n@N[1..20] : defaultNode;\n" + str).getConstraints();
Assert.assertEquals(cstrs.size(), nbNodes);
Set<Node> nodes = new HashSet<>();
for (SatConstraint s : cstrs) {
Assert.assertTrue(s instanceof Overbook);
Assert.assertTrue(nodes.addAll(s.getInvolvedNodes()));
Assert.assertEquals(s.getInvolvedNodes().size(), 1);
Assert.assertEquals(((Overbook) s).getResource(), rcId);
Assert.assertEquals(((Overbook) s).getRatio(), ratio);
Assert.assertEquals(s.isContinuous(), !str.startsWith(">>"));
}
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class RootBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodRoots")
public void testGoodSignatures(String str, int nbVMs) throws Exception {
ScriptBuilder b = new ScriptBuilder(new DefaultModel());
Set<SatConstraint> cstrs = b.build("namespace test; VM[1..10] : tiny;\n" + str).getConstraints();
Assert.assertEquals(cstrs.size(), nbVMs);
Set<VM> vms = new HashSet<>();
for (SatConstraint x : cstrs) {
Assert.assertTrue(x instanceof Root);
Assert.assertTrue(vms.addAll(x.getInvolvedVMs()));
Assert.assertEquals(x.isContinuous(), true);
}
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class RunningBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodRunnings")
public void testGoodSignatures(String str, int nbVMs, boolean c) throws Exception {
ScriptBuilder b = new ScriptBuilder(new DefaultModel());
Set<SatConstraint> cstrs = b.build("namespace test; VM[1..10] : tiny;\n@N[1..20] : defaultNode;" + str).getConstraints();
Assert.assertEquals(cstrs.size(), nbVMs);
Set<VM> vms = new HashSet<>();
for (SatConstraint x : cstrs) {
Assert.assertTrue(x instanceof Running);
Assert.assertTrue(vms.addAll(x.getInvolvedVMs()));
Assert.assertEquals(x.isContinuous(), c);
}
}
Aggregations