public void ShouldGetCustomerById()
        {
            ICustomerAdapter adapter = Substitute.For<ICustomerAdapter>();
            CustomerData data = new CustomerData();
            adapter.GetCustomer(Arg.Any<string>()).Returns(data);
            using (CustomersController controller = new CustomersController(adapter))
            {
                string customerId = Guid.NewGuid().ToString("N");
                using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "~/api/customers/" + customerId))
                {
                    request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());
                    HttpResponseMessage response = controller.Get(request, customerId);
                    Assert.IsInstanceOfType(response.Content, typeof(ObjectContent<CustomerData>), "Customer data was not returned.");
                    ObjectContent<CustomerData> content = (ObjectContent<CustomerData>)response.Content;
                    CustomerData result = (CustomerData)content.Value;

                    Assert.AreSame(data, result, "The wrong customer was returned.");

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