use of org.btrplace.model.Model in project scheduler by btrplace.
the class ScriptTest method testConstraints.
public void testConstraints() {
Script v = new Script();
Model mo = new DefaultModel();
VM vm2 = mo.newVM();
v.addConstraint(new Gather(Collections.singleton(vm2)));
v.addConstraint(new RunningCapacity(Collections.singleton(mo.newNode()), 5));
Assert.assertEquals(v.getConstraints().size(), 2);
}
use of org.btrplace.model.Model in project scheduler by btrplace.
the class ScriptTest method testVMsAddition.
public void testVMsAddition() {
Script v = new Script();
Model mo = new DefaultModel();
BtrpElement vm1 = new BtrpElement(BtrpOperand.Type.VM, "VM1", mo.newVM());
BtrpElement vm2 = new BtrpElement(BtrpOperand.Type.VM, "VM2", mo.newVM());
BtrpElement vm3 = new BtrpElement(BtrpOperand.Type.VM, "VM3", mo.newVM());
v.add(vm1);
v.add(Arrays.asList(vm2, vm3));
Assert.assertEquals(v.getVMs().size(), 3);
Assert.assertTrue(v.getVMs().contains(vm1.getElement()) && v.getVMs().contains(vm2.getElement()) && v.getVMs().contains(vm3.getElement()));
}
use of org.btrplace.model.Model in project scheduler by btrplace.
the class ScriptTest method testExported.
public void testExported() {
Script v = new Script();
v.setFullyQualifiedName("testScript");
Model mo = new DefaultModel();
BtrpOperand o1 = new BtrpElement(BtrpOperand.Type.VM, "vm1", mo.newVM());
v.addExportable("$s", o1, Collections.singleton("*"));
// No restrictions, so every can access the exported variable
Assert.assertEquals(v.getImportable("$s"), o1);
Assert.assertTrue(v.canImport("$s", "foo"));
Assert.assertTrue(v.canImport("$s", "bar.toto"));
// Explicit no restriction
BtrpOperand o2 = new BtrpElement(BtrpOperand.Type.VM, "vm2", mo.newVM());
v.addExportable("$x", o2, Collections.singleton("*"));
Assert.assertEquals(v.getImportable("$x"), o2);
Assert.assertTrue(v.canImport("$x", "foo"));
Assert.assertTrue(v.canImport("$x", "bar.toto"));
// Unknown export
Assert.assertFalse(v.canImport("$z", "foo"));
Assert.assertFalse(v.canImport("$z", "bar.toto"));
Set<String> valid = new HashSet<>();
valid.add("foo");
valid.add("foo.*");
valid.add("bar");
BtrpOperand o3 = new BtrpElement(BtrpOperand.Type.VM, "vm2", mo.newVM());
v.addExportable("$y", o3, valid);
Assert.assertNull(v.getImportable("$y"));
Assert.assertEquals(v.getImportable("$y", "foo"), o3);
Assert.assertNull(v.getImportable("$y", "zog"));
Assert.assertEquals(v.getImportable("$y", "foo.bar.fii"), o3);
Assert.assertEquals(v.getImportable("$y", "bar"), o3);
Assert.assertEquals(v.getExported().size(), 3);
}
use of org.btrplace.model.Model in project scheduler by btrplace.
the class BtrpNumberTest method testNonViableGt.
@Test(expectedExceptions = { UnsupportedOperationException.class })
public void testNonViableGt() {
BtrpNumber i = new BtrpNumber(5, BtrpNumber.Base.BASE_16);
Model mo = new DefaultModel();
BtrpElement j = new BtrpElement(BtrpOperand.Type.VM, "foo", mo.newVM());
i.gt(j);
}
use of org.btrplace.model.Model in project scheduler by btrplace.
the class BtrpNumberTest method testNonViableDiv.
@Test(expectedExceptions = { UnsupportedOperationException.class })
public void testNonViableDiv() {
BtrpNumber i = new BtrpNumber(5, BtrpNumber.Base.BASE_16);
Model mo = new DefaultModel();
BtrpElement j = new BtrpElement(BtrpOperand.Type.VM, "foo", mo.newVM());
i.div(j);
}
Aggregations