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

            client.GetPaginatedAsync <VirtualMachine>("/ecloud/v1/solutions/123/vms").Returns(Task.Run(() =>
            {
                return(new Paginated <VirtualMachine>(client, "/ecloud/v1/solutions/123/vms", null, new Response.ClientResponse <System.Collections.Generic.IList <VirtualMachine> >()
                {
                    Body = new Response.ClientResponseBody <System.Collections.Generic.IList <VirtualMachine> >()
                    {
                        Data = new List <VirtualMachine>()
                        {
                            new VirtualMachine(),
                            new VirtualMachine()
                        }
                    }
                }));
            }));

            var ops       = new SolutionVirtualMachineOperations <VirtualMachine>(client);
            var paginated = await ops.GetSolutionVirtualMachinesPaginatedAsync(123);

            Assert.AreEqual(2, paginated.Items.Count);
        }
        public async Task GetSolutionVirtualMachinesPaginatedAsync_InvalidSolutionID_ThrowsUKFastClientValidationException()
        {
            var ops = new SolutionVirtualMachineOperations <VirtualMachine>(null);

            await Assert.ThrowsExceptionAsync <UKFastClientValidationException>(() => ops.GetSolutionVirtualMachinesPaginatedAsync(0));
        }