Search in sources :

Example 16 with ScriptBuilder

use of org.btrplace.btrpsl.ScriptBuilder 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);
    }
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) Root(org.btrplace.model.constraint.Root) 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 17 with ScriptBuilder

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

the class RunningCapacityBuilderTest method testGoodSignatures.

@Test(dataProvider = "goodCapacities")
public void testGoodSignatures(String str, int nbNodes, int capa, 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(), 1);
    RunningCapacity x = (RunningCapacity) cstrs.iterator().next();
    Assert.assertEquals(x.getInvolvedNodes().size(), nbNodes);
    Assert.assertEquals(x.getAmount(), capa);
    Assert.assertEquals(x.isContinuous(), c);
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) RunningCapacity(org.btrplace.model.constraint.RunningCapacity) SatConstraint(org.btrplace.model.constraint.SatConstraint) ScriptBuilder(org.btrplace.btrpsl.ScriptBuilder) Test(org.testng.annotations.Test)

Example 18 with ScriptBuilder

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

the class SplitBuilderTest method testGoodSignatures.

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

Example 19 with ScriptBuilder

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

the class LonelyBuilderTest method testGoodSignatures.

@Test(dataProvider = "goodLonelys")
public void testGoodSignatures(String str, int nbVMs, boolean c) throws Exception {
    ScriptBuilder b = new ScriptBuilder(new DefaultModel());
    Lonely x = (Lonely) b.build("namespace test; VM[1..10] : tiny;\n" + str).getConstraints().iterator().next();
    Assert.assertEquals(x.getInvolvedVMs().size(), nbVMs);
    Assert.assertEquals(x.isContinuous(), c);
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) Lonely(org.btrplace.model.constraint.Lonely) ScriptBuilder(org.btrplace.btrpsl.ScriptBuilder) Test(org.testng.annotations.Test)

Example 20 with ScriptBuilder

use of org.btrplace.btrpsl.ScriptBuilder 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);
    }
}
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)

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