public async Task DeleteVirtualMachineTagAsync_ValidParameters_ExpectedResult()
        {
            IUKFastECloudClient client = Substitute.For <IUKFastECloudClient>();

            client.DeleteAsync <Tag>("/ecloud/v1/vms/123/tags/testkey").Returns(new Tag()
            {
                Value = "testvalue"
            });

            var ops = new VirtualMachineTagOperations <Tag>(client);
            await ops.DeleteVirtualMachineTagAsync(123, "testkey");

            await client.Received().DeleteAsync("/ecloud/v1/vms/123/tags/testkey");
        }
        public async Task DeleteVirtualMachineTagAsync_InvalidTagKey_ThrowsUKFastClientValidationException()
        {
            var ops = new VirtualMachineTagOperations <Tag>(null);

            await Assert.ThrowsExceptionAsync <UKFastClientValidationException>(() => ops.DeleteVirtualMachineTagAsync(123, ""));
        }