Search in sources :

Example 11 with ScriptBuilder

use of org.btrplace.btrpsl.ScriptBuilder in project scheduler by btrplace.

the class SleepingBuilderTest method testGoodSignatures.

@Test(dataProvider = "goodsleepings")
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();
    Set<VM> vms = new HashSet<>();
    Assert.assertEquals(cstrs.size(), nbVMs);
    for (SatConstraint x : cstrs) {
        Assert.assertTrue(x instanceof Sleeping);
        Assert.assertTrue(vms.addAll(x.getInvolvedVMs()));
        Assert.assertEquals(x.isContinuous(), c);
    }
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) Sleeping(org.btrplace.model.constraint.Sleeping) SatConstraint(org.btrplace.model.constraint.SatConstraint) VM(org.btrplace.model.VM) ScriptBuilder(org.btrplace.btrpsl.ScriptBuilder) HashSet(java.util.HashSet) Test(org.testng.annotations.Test)

Example 12 with ScriptBuilder

use of org.btrplace.btrpsl.ScriptBuilder in project scheduler by btrplace.

the class KilledBuilderTest method testGoodSignatures.

@Test(dataProvider = "goodKilleds")
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();
    Set<VM> vms = new HashSet<>();
    Assert.assertEquals(cstrs.size(), nbVMs);
    for (SatConstraint x : cstrs) {
        Assert.assertTrue(x instanceof Killed);
        Assert.assertTrue(vms.addAll(x.getInvolvedVMs()));
        Assert.assertEquals(x.isContinuous(), c);
    }
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) SatConstraint(org.btrplace.model.constraint.SatConstraint) VM(org.btrplace.model.VM) Killed(org.btrplace.model.constraint.Killed) ScriptBuilder(org.btrplace.btrpsl.ScriptBuilder) HashSet(java.util.HashSet) Test(org.testng.annotations.Test)

Example 13 with ScriptBuilder

use of org.btrplace.btrpsl.ScriptBuilder in project scheduler by btrplace.

the class MaxOnlineBuilderTest method testGoodSignatures.

@Test(dataProvider = "goodMaxOnline")
public void testGoodSignatures(String str, int nbNodes) throws Exception {
    ScriptBuilder b = new ScriptBuilder(new DefaultModel());
    MaxOnline x = (MaxOnline) b.build("namespace test; VM[1..10] : tiny;\n@N[1..10] : mock;" + str).getConstraints().iterator().next();
    Assert.assertEquals(x.getInvolvedNodes().size(), nbNodes);
    Assert.assertEquals(x.isContinuous(), !str.startsWith(">>"));
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) MaxOnline(org.btrplace.model.constraint.MaxOnline) ScriptBuilder(org.btrplace.btrpsl.ScriptBuilder) Test(org.testng.annotations.Test)

Example 14 with ScriptBuilder

use of org.btrplace.btrpsl.ScriptBuilder 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);
    }
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) SatConstraint(org.btrplace.model.constraint.SatConstraint) Node(org.btrplace.model.Node) ScriptBuilder(org.btrplace.btrpsl.ScriptBuilder) HashSet(java.util.HashSet) Test(org.testng.annotations.Test)

Example 15 with ScriptBuilder

use of org.btrplace.btrpsl.ScriptBuilder 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(">>"));
    }
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) SatConstraint(org.btrplace.model.constraint.SatConstraint) Node(org.btrplace.model.Node) Overbook(org.btrplace.model.constraint.Overbook) ScriptBuilder(org.btrplace.btrpsl.ScriptBuilder) HashSet(java.util.HashSet) Test(org.testng.annotations.Test)

Aggregations

ScriptBuilder (org.btrplace.btrpsl.ScriptBuilder)22 DefaultModel (org.btrplace.model.DefaultModel)22 Test (org.testng.annotations.Test)22 SatConstraint (org.btrplace.model.constraint.SatConstraint)14 HashSet (java.util.HashSet)12 VM (org.btrplace.model.VM)8 Node (org.btrplace.model.Node)4 Among (org.btrplace.model.constraint.Among)1 Ban (org.btrplace.model.constraint.Ban)1 Fence (org.btrplace.model.constraint.Fence)1 Gather (org.btrplace.model.constraint.Gather)1 Killed (org.btrplace.model.constraint.Killed)1 Lonely (org.btrplace.model.constraint.Lonely)1 MaxOnline (org.btrplace.model.constraint.MaxOnline)1 Overbook (org.btrplace.model.constraint.Overbook)1 Preserve (org.btrplace.model.constraint.Preserve)1 Quarantine (org.btrplace.model.constraint.Quarantine)1 Ready (org.btrplace.model.constraint.Ready)1 ResourceCapacity (org.btrplace.model.constraint.ResourceCapacity)1 Root (org.btrplace.model.constraint.Root)1