public async Task SendsProperlyFormattedDeleteRequest() { var httpClient = Substitute.For<IHttpClient>(); IResponse response = new Response(); httpClient.Send(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response)); var connection = new Connection(new ProductHeaderValue("OctokitTests"), _exampleUri, Substitute.For<ICredentialStore>(), httpClient, Substitute.For<IJsonSerializer>()); await connection.Delete(new Uri("endpoint", UriKind.Relative)); httpClient.Received(1).Send(Arg.Is<IRequest>(req => req.BaseAddress == _exampleUri && req.Body == null && req.ContentType == null && req.Method == HttpMethod.Delete && req.Endpoint == new Uri("endpoint", UriKind.Relative)), Args.CancellationToken); }