use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class AmongBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodAmongs")
public void testGoodSignatures(String str, int nbVMs, int nbNs1, int nbNs2, boolean c) throws Exception {
ScriptBuilder b = new ScriptBuilder(new DefaultModel());
Set<SatConstraint> cstrs = b.build("namespace test; VM[1..10] : tiny;\n@N[1..10] : defaultNode;\n" + str).getConstraints();
Assert.assertEquals(cstrs.size(), 1);
Among x = (Among) cstrs.iterator().next();
Assert.assertEquals(x.getGroupsOfNodes().iterator().next().size(), nbNs1);
Assert.assertEquals(x.getInvolvedNodes().size(), nbNs1 + nbNs2);
Assert.assertEquals(x.getInvolvedVMs().size(), nbVMs);
Assert.assertEquals(x.isContinuous(), c);
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class FenceBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodFences")
public void testGoodSignatures(String str, int nbVMs, 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(), nbVMs);
Set<VM> vms = new HashSet<>();
for (SatConstraint x : cstrs) {
Assert.assertTrue(x instanceof Fence);
Assert.assertEquals(x.getInvolvedNodes().size(), nbNodes);
Assert.assertTrue(vms.addAll(x.getInvolvedVMs()));
Assert.assertEquals(x.isContinuous(), c);
}
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class QuarantineBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodQuarantines")
public void testGoodSignatures(String str, int nbNodes) 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(x instanceof Quarantine);
Assert.assertTrue(nodes.addAll(x.getInvolvedNodes()));
}
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class BanBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodBans")
public void testGoodSignatures(String str, int nbVMs, 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..10] : defaultNode;\n" + str).getConstraints();
Assert.assertEquals(cstrs.size(), nbVMs);
Set<VM> vms = new HashSet<>();
for (SatConstraint s : cstrs) {
Assert.assertTrue(s instanceof Ban);
Assert.assertEquals(s.getInvolvedVMs().size(), 1);
Assert.assertTrue(vms.addAll(s.getInvolvedVMs()));
Assert.assertEquals(s.getInvolvedNodes().size(), nbNodes);
Assert.assertEquals(s.isContinuous(), c);
}
}
use of org.btrplace.model.constraint.SatConstraint in project scheduler by btrplace.
the class PreserveBuilderTest method testGoodSignatures.
@Test(dataProvider = "goodPreserves")
public void testGoodSignatures(String str, int nbVMs, String rcId, int a) 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(), nbVMs);
Set<VM> vms = new HashSet<>();
for (SatConstraint x : cstrs) {
Assert.assertTrue(x instanceof Preserve);
Assert.assertTrue(vms.addAll(x.getInvolvedVMs()));
Assert.assertEquals(x.isContinuous(), false);
Assert.assertEquals(((Preserve) x).getResource(), rcId);
Assert.assertEquals(((Preserve) x).getAmount(), a);
}
}
Aggregations