public void OptionsForAllow() { Uri requestUri = new Uri("http://example.com"); HttpMethod requestMethod = HttpMethod.OPTIONS; Expect.Call <IClientHttpRequest>(requestFactory.CreateRequest(requestUri, requestMethod)).Return(request); ExpectGetResponse(); Expect.Call <bool>(errorHandler.HasError(requestUri, requestMethod, response)).Return(false); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.Add("Allow", "GET"); responseHeaders.Add("Allow", "POST"); Expect.Call <HttpHeaders>(response.Headers).Return(responseHeaders).Repeat.Any(); mocks.ReplayAll(); IList <HttpMethod> result = template.OptionsForAllow("http://example.com"); Assert.AreEqual(2, result.Count, "Invalid OPTIONS result"); Assert.IsTrue(result.Contains(HttpMethod.GET), "Invalid OPTIONS result"); Assert.IsTrue(result.Contains(HttpMethod.POST), "Invalid OPTIONS result"); }