/** Test the setters for resources needs. */
 public void testWithNewNeeds() {
   DefaultVirtualMachine n = new DefaultVirtualMachine("N1", 1, 3, 1024);
   n.setCPUNeed(5);
   n.setMemoryNeed(10);
   Assert.assertEquals(n.getCPUDemand(), 5);
   Assert.assertEquals(n.getMemoryDemand(), 10);
 }
  /** Unit tests for get/set cpuConsumption. */
  public void testCPUConsumption() {
    final DefaultVirtualMachine n = new DefaultVirtualMachine("N1", 1, 3, 1024);
    // Test default value
    Assert.assertEquals(n.getCPUConsumption(), 3);

    // Test the binding
    n.updateValue(DefaultVirtualMachine.CPU_CONSUMPTION, 2);
    Assert.assertEquals(n.getCPUConsumption(), 2);
  }
  /** Unit tests for get/set nbOfCPUs. */
  public void testNbOfCPUs() {
    final DefaultVirtualMachine n = new DefaultVirtualMachine("N1", 1, 3, 1024);
    // Test default value
    Assert.assertEquals(n.getNbOfCPUs(), 1);

    // Test the binding
    n.updateValue(DefaultVirtualMachine.CPU_NB, 2);
    Assert.assertEquals(n.getNbOfCPUs(), 2);
  }
  /** Test get/set memoryTotal. */
  public void testMemoryTotal() {
    final DefaultVirtualMachine n = new DefaultVirtualMachine("V1", 1, 3, 1024);
    // Test default value
    Assert.assertEquals(n.getMemoryConsumption(), 1024);

    // Test the binding
    n.updateValue(DefaultVirtualMachine.MEMORY, 2048);
    Assert.assertEquals(n.getMemoryConsumption(), 2048);
  }
  /** Test equals() in various conditions. */
  public void testEquals() {
    final DefaultVirtualMachine n = new DefaultVirtualMachine("N1", 1, 3, 1024);
    final DefaultVirtualMachine n2 = new DefaultVirtualMachine("N1", 2, 3, 4096);
    Assert.assertTrue(n.equals(n2));

    final DefaultVirtualMachine n3 = new DefaultVirtualMachine("N2", 2, 3, 4096);
    Assert.assertFalse(n.equals(n3));
    Assert.assertFalse(n.equals(new Object()));
  }
 /** Test the getters for resources needs when not known. */
 public void testWithNoNeeds() {
   DefaultVirtualMachine n = new DefaultVirtualMachine("N1", 1, 3, 1024);
   Assert.assertEquals(n.getCPUDemand(), 3);
   Assert.assertEquals(n.getMemoryDemand(), 1024);
   Assert.assertEquals(
       n.getValue(DefaultVirtualMachine.MEMORY_NEED),
       n.getValue(DefaultVirtualMachine.MEMORY_CONSUMPTION));
   Assert.assertEquals(
       n.getValue(DefaultVirtualMachine.CPU_NEED),
       n.getValue(DefaultVirtualMachine.CPU_CONSUMPTION));
 }
 /** Test the copy constructor and check if there is no side-effects. */
 public void testCopyConstructor() {
   final DefaultVirtualMachine n = new DefaultVirtualMachine("N1", 1, 3, 1024);
   n.setCPUNeed(15);
   final DefaultVirtualMachine n2 = new DefaultVirtualMachine(n);
   Assert.assertEquals(n2.getMemoryConsumption(), 1024);
   Assert.assertEquals(n2.getMemoryDemand(), 1024);
   Assert.assertEquals(n2.getNbOfCPUs(), 1);
   Assert.assertEquals(n2.getCPUConsumption(), 3);
   Assert.assertEquals(n2.getCPUDemand(), 15);
   n.updateValue(DefaultVirtualMachine.CPU_NB, 2);
   n.updateValue(DefaultVirtualMachine.MEMORY, 2048);
   n.updateValue(DefaultVirtualMachine.CPU_CONSUMPTION, 5);
   Assert.assertEquals(n2.getMemoryConsumption(), 1024);
   Assert.assertEquals(n2.getNbOfCPUs(), 1);
   Assert.assertEquals(n2.getCPUConsumption(), 3);
 }