public void InvalidHeaders_AddRequestAndResponseHeaders_Throw()
{
// Try adding request, response, and general _headers. Use different casing to make sure case-insensitive
// comparison is used.
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Accept-Ranges", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("age", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("ETag", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Location", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Proxy-Authenticate", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Retry-After", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Server", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Vary", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("WWW-Authenticate", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Accept", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Accept-Charset", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Accept-Encoding", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Accept-Language", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Authorization", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Expect", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("From", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Host", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("If-Match", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("If-Modified-Since", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("If-None-Match", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("If-Range", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("If-Unmodified-Since", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Max-Forwards", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Proxy-Authorization", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Range", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Referer", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("TE", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("User-Agent", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Cache-Control", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Connection", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Date", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Pragma", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Trailer", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Transfer-Encoding", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Upgrade", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Via", "v"); });
Assert.Throws<InvalidOperationException>(() => { _headers.Add("Warning", "v"); });
}