@Test
public void testBootDelay() {

    double delta = 0.1;
    DescriptiveStatistics stat = new DescriptiveStatistics();
    VMex vmex = new VMex("TEST_VM", 2, 3, 4, 5, 6, 7, "vmm", null);
    // Test the return of the default value
    vmex.getMetadata().setType("hs1.8xlarge");
    vmex.getMetadata().setOS(NIX_OS);
    assertEquals(DEFAULT_DELAY, bootDelay.getDelay(vmex), delta);
    // Test c1.medium
    stat.clear();
    vmex.getMetadata().setType("c1.medium");
    for (int i = 0; i < 10_000; i++) {
        stat.addValue(bootDelay.getDelay(vmex));
    }
    assertEquals(90.0, stat.getMean(), delta);
    assertEquals(2.0, stat.getStandardDeviation(), delta);
    // Test t1.micro
    stat.clear();
    vmex.getMetadata().setType("t1.micro");
    for (int i = 0; i < 10_000; i++) {
        stat.addValue(bootDelay.getDelay(vmex));
    }
    assertEquals(55.0, stat.getMean(), delta);
    assertEquals(3.0, stat.getStandardDeviation(), delta);
    // Test wildcard
    stat.clear();
    vmex.getMetadata().setOS(WINDOWS);
    for (int i = 0; i < 10_000; i++) {
        stat.addValue(bootDelay.getDelay(vmex));
    }
    assertEquals(810.2, stat.getMean(), delta);
    assertEquals(10.0, stat.getStandardDeviation(), delta);
}