public void SetValueCorrectly()
        {
            var headers = new RestHeaders();

            headers.Set("foo", "bar");

            Assert.True(headers.TryGetValue("foo", out ISet <string> values), "foo key not found");
            Assert.Equal("bar", values.Single());
        }
        public void SetValuesCorrectly()
        {
            var headers = new RestHeaders();

            headers.Set("foo", "bar", "bla");

            Assert.True(headers.TryGetValue("foo", out ISet <string> values), "foo key not found");
            Assert.True(values.Any(x => x == "bar"), "bar value not found");
            Assert.True(values.Any(x => x == "bla"), "bla value not found");
        }
        public void SetValuesDoesOverwriteExistingValues()
        {
            var headers = new RestHeaders
            {
                { "foo", "bar" }
            };

            headers.Set("foo", "bla");

            Assert.True(headers.TryGetValue("foo", out ISet <string> values), "foo key not found");
            Assert.Equal("bla", values.Single());
        }
        public void AddValueDoesNotOverwriteExistingValues()
        {
            var headers = new RestHeaders
            {
                { "foo", "bar" }
            };

            headers.Add("foo", "bla");

            Assert.True(headers.TryGetValue("foo", out ISet <string> values), "foo key not found");
            Assert.True(values.Any(x => x == "bar"), "bar value not found");
            Assert.True(values.Any(x => x == "bla"), "bla value not found");
        }