public void GetHttpHeaderValues_NoHttpHeaderQValues_EmptyList()
        {
            //Arrange
            var httpRequest = MockRepository.GenerateMock<HttpRequestBase>();
            var headerValue = string.Empty;
            var headerType = HttpRequestHeader.IfMatch;
            var headerName = (string)headerType;

            httpRequest.Expect(x => x.Headers[headerName]).Return(headerValue);

            //Act
            var httpRequestHeaderHelper = new HttpRequestHeaderHelper();
            var headerValues = httpRequestHeaderHelper.GetHttpHeaderValues(httpRequest, headerType);

            //Assert
            httpRequest.VerifyAllExpectations();
            Assert.IsEmpty(headerValues);
        }
        public void GetHttpHeaderValues_IsCaseSensitive_List()
        {
            //Arrange
            var httpRequest = MockRepository.GenerateMock<HttpRequestBase>();
            var headerValue = "abcdeF";
            var headerType = HttpRequestHeader.IfMatch;
            var headerName = (string)headerType;

            httpRequest.Expect(x => x.Headers[headerName]).Return(headerValue);

            //Act
            var httpRequestHeaderHelper = new HttpRequestHeaderHelper();
            var headerValues = httpRequestHeaderHelper.GetHttpHeaderValues(httpRequest, headerType);

            //Assert
            httpRequest.VerifyAllExpectations();
            Assert.AreEqual(1, headerValues.Count);
            Assert.AreEqual(headerValue, headerValues[0]);
        }
        public void GetHttpHeaderValues_MultipleHttpHeaderWithValuesSetWithSpacing_List()
        {
            //Arrange
            var httpRequest = MockRepository.GenerateMock<HttpRequestBase>();
            var identity1 = "gzip";
            var identity2 = "deflate";
            var headerValue = identity1 + " , " + identity2;
            var headerType = HttpRequestHeader.IfMatch;
            var headerName = (string)headerType;

            httpRequest.Expect(x => x.Headers[headerName]).Return(headerValue);

            //Act
            var httpRequestHeaderHelper = new HttpRequestHeaderHelper();
            var headerValues = httpRequestHeaderHelper.GetHttpHeaderValues(httpRequest, headerType);

            //Assert
            httpRequest.VerifyAllExpectations();
            Assert.AreEqual(2, headerValues.Count);
            Assert.AreEqual(identity1, headerValues[0]);
            Assert.AreEqual(identity2, headerValues[1]);
        }
        public void GetHttpHeaderValues_HttpHeaderWithOneValueSet_List()
        {
            //Arrange
            var httpRequest = MockRepository.GenerateMock<HttpRequestBase>();
            var headerValue = "1234567";
            var headerType = HttpRequestHeader.IfMatch;
            var headerName = (string)headerType;

            httpRequest.Expect(x => x.Headers[headerName]).Return(headerValue);

            //Act
            var httpRequestHeaderHelper = new HttpRequestHeaderHelper();
            var headerValues = httpRequestHeaderHelper.GetHttpHeaderValues(httpRequest, headerType);

            //Assert
            httpRequest.VerifyAllExpectations();
            Assert.AreEqual(1, headerValues.Count);
            Assert.AreEqual(headerValue.ToLowerInvariant(), headerValues[0]);
        }