public void ShouldReturnNullWithNoHeader()
        {
            var parser = new LanguageHeaderParser();
            var result = parser.Parse("");

            Assert.That(result, Is.Null);
        }
        public void ShouldReturnNullForMalformedHeader(string header)
        {
            var parser = new LanguageHeaderParser();
            var result = parser.Parse(header);

            Assert.That(result, Is.Null);
        }
        public void ShouldParseOutHeader()
        {
            const string header = "en-US,en;q=0.8,de;q=0.6,de-DE;q=0.4";

            var expected = new List <Language>
            {
                new Language("en-us", 1.0d),
                new Language("en", 0.8d),
                new Language("de", 0.6d),
                new Language("de-de", 0.4d)
            };

            var parser = new LanguageHeaderParser();

            var result = parser.Parse(header);

            for (var i = 0; i < result.Count; i++)
            {
                Assert.That(new LanguageComparer().Equals(result[i], expected[i]));
            }
        }