public void SetAndEscapeValue_ReturnsExpectedValue(string input, string expected)
        {
            var header = new NameValueHeaderValue("test");

            header.SetAndEscapeValue(input);

            var actual = header.Value;

            Assert.Equal(expected, actual);
        }
        public void OverescapingValuesDoNotRoundTrip(string input)
        {
            var header = new NameValueHeaderValue("test");

            header.SetAndEscapeValue(input);
            var valueHeader = header.GetUnescapedValue();

            var actual = header.Value;

            Assert.NotEqual(input, actual);
        }
        public void GetAndSetEncodeValueRoundTrip_ReturnsExpectedValue(string input)
        {
            var header = new NameValueHeaderValue("test");

            header.Value = input;
            var valueHeader = header.GetUnescapedValue();

            header.SetAndEscapeValue(valueHeader);

            var actual = header.Value;

            Assert.Equal(input, actual);
        }
        public void SetAndEscapeValue_ThrowsOnInvalidValues(string input)
        {
            var header = new NameValueHeaderValue("test");

            Assert.Throws <FormatException>(() => header.SetAndEscapeValue(input));
        }