public void ShouldDeleteCustomer()
        {
            ICustomerAdapter adapter = Substitute.For<ICustomerAdapter>();
            adapter.RemoveCustomer(Arg.Any<string>());
            using (CustomersController controller = new CustomersController(adapter))
            using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Delete, "~/api/customers"))
            {
                request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());
                string customerId = Guid.NewGuid().ToString("N");
                HttpResponseMessage message = controller.Delete(request, customerId);

                Assert.AreEqual(HttpStatusCode.OK, message.StatusCode, "The wrong status code was returned.");
                Assert.IsInstanceOfType(message.Content, typeof(ObjectContent), "The content was not the serialized result.");
                ObjectContent content = (ObjectContent)message.Content;
                Assert.AreSame("The customer was deleted.", content.Value, "The wrong object was returned.");

                adapter.Received().RemoveCustomer(customerId);
            }
        }