private void assertVirtualMachine(VirtualMachine virtualMachine) {
   assertEquals(
       "getVirtualMachine doesn't return correct result", VM_1_NAME, virtualMachine.getName());
   assertEquals(
       "getVirtualMachine doesn't return correct result",
       VmState.RUNNING,
       virtualMachine.getCurrentState());
   assertEquals(
       "getVirtualMachine doesn't return correct result", HWP_1_ID, virtualMachine.getProductId());
   assertEquals(
       "getVirtualMachine doesn't return correct result",
       REGION,
       virtualMachine.getProviderRegionId());
   assertEquals(
       "getVirtualMachine doesn't return correct result",
       DATACENTER_ID,
       virtualMachine.getProviderDataCenterId());
   assertEquals(
       "getVirtualMachine doesn't return correct result",
       VM_1_OWNER,
       virtualMachine.getProviderOwnerId());
   assertEquals(
       "getVirtualMachine doesn't return correct result",
       VM_1_NETWORK_ID,
       virtualMachine.getProviderVlanId());
   assertEquals(
       "getVirtualMachine doesn't return correct result",
       VM_1_NETWORK_IP_ADDRESSES.get(0),
       virtualMachine.getPublicAddresses()[0].getIpAddress());
 }
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || !(o instanceof VirtualMachine)) {
      return false;
    }

    VirtualMachine that = (VirtualMachine) o;
    return name.equals(that.getName());
  }