public void ExistsAndEqualsPositiveCases()
        {
            var items = new HttpHeaders
            {
                new KeyValuePair <string, string>("item1", "value1"),
                new KeyValuePair <string, string>("item2", "value2")
            };

            // positive cases, case insensitive
            items.ExistsAndEquals("item1", "value1").ShouldBeTrue();
            items.ExistsAndEquals("ITEM1", "value1").ShouldBeTrue();
            items.ExistsAndEquals("item1", "VALUE1").ShouldBeTrue();
            items.ExistsAndEquals("item", "value1").ShouldBeFalse();

            // negative case, non matching value
            items.ExistsAndEquals("item1", "some other value").ShouldBeFalse();

            // negative case, non matching key
            items.ExistsAndEquals("unknown key", "value1").ShouldBeFalse();

            // negative cases, spread of null and empty values
            items.ExistsAndEquals(string.Empty, string.Empty).ShouldBeFalse();
            items.ExistsAndEquals(null, string.Empty).ShouldBeFalse();
            items.ExistsAndEquals(string.Empty, null).ShouldBeFalse();
            items.ExistsAndEquals(null, null).ShouldBeFalse();
        }
        public void ExistsAndEqualsEmptyList()
        {
            // an empty collection
            var items = new HttpHeaders();

            items.ExistsAndEquals("key", "value").ShouldBeFalse();
        }