private void applyAndAssert(BaseImage baseImage) {
final Hardware hardware = baseImageToHardware.apply(baseImage);
assertEquals(baseImage.memoryGb() * 1024, hardware.getRam());
assertEquals("vmx", hardware.getHypervisor());
assertEquals(baseImage.id(), hardware.getId());
assertEquals(baseImage.id(), hardware.getProviderId());
assertEquals(baseImage.name(), hardware.getName());
assertEquals(baseImage.disks().size(), hardware.getVolumes().size());
assertEquals(Float.valueOf(baseImage.disks().get(0).sizeGb()), hardware.getVolumes().get(0).getSize());
assertEquals(Volume.Type.LOCAL, hardware.getVolumes().get(0).getType());
assertEquals(baseImage.disks().get(0).id(), hardware.getVolumes().get(0).getId());
assertEquals(baseImage.disks().get(0).scsiId().toString(), hardware.getVolumes().get(0).getDevice());
assertEquals(baseImage.cpu().count(), hardware.getProcessors().size());
assertEquals(Double.valueOf(baseImage.cpu().coresPerSocket()), hardware.getProcessors().get(0).getCores());
assertEquals(CpuSpeed.STANDARD.getSpeed(), hardware.getProcessors().get(0).getSpeed());
}