private void CheckInvalidParse(string input)
        {
            Assert.Throws <FormatException>(() => { NameValueWithParametersHeaderValue.Parse(input); });

            Assert.False(NameValueWithParametersHeaderValue.TryParse(input, out NameValueWithParametersHeaderValue result));
            Assert.Null(result);
        }
        public void Parse()
        {
            var res = NameValueWithParametersHeaderValue.Parse("c");

            Assert.AreEqual("c", res.Name, "#1");
            Assert.AreEqual("c", res.ToString(), "#1b");
            Assert.IsNull(res.Value, "#2");

            res = NameValueWithParametersHeaderValue.Parse("a=2 ; b = 555");
            Assert.AreEqual("a", res.Name, "#3");
            Assert.AreEqual("a=2; b=555", res.ToString(), "#3b");
            Assert.AreEqual("2", res.Value, "#4");
            Assert.AreEqual("b", res.Parameters.First().Name, "#5");
            Assert.AreEqual(1, res.Parameters.Count, "#6");
        }
        private void CheckValidParse(string input, NameValueWithParametersHeaderValue expectedResult)
        {
            NameValueWithParametersHeaderValue result = NameValueWithParametersHeaderValue.Parse(input);

            Assert.Equal(expectedResult, result);

            Assert.True(NameValueWithParametersHeaderValue.TryParse(input, out result));
            Assert.Equal(expectedResult, result);

            // New lines are never allowed
            for (int i = 0; i < input.Length; i++)
            {
                CheckInvalidParse(input.Insert(i, "\r"));
                CheckInvalidParse(input.Insert(i, "\n"));
                CheckInvalidParse(input.Insert(i, "\r\n"));
                CheckInvalidParse(input.Insert(i, "\r\n "));
            }
        }
        public void Parse_Invalid()
        {
            try {
                NameValueWithParametersHeaderValue.Parse(null);
                Assert.Fail("#1");
            } catch (FormatException) {
            }

            try {
                NameValueWithParametersHeaderValue.Parse("  ");
                Assert.Fail("#2");
            } catch (FormatException) {
            }

            try {
                NameValueWithParametersHeaderValue.Parse("a=1;");
                Assert.Fail("#3");
            } catch (FormatException) {
            }
        }
 private void CheckInvalidParse(string input)
 {
     Assert.Throws <FormatException>(() => { NameValueWithParametersHeaderValue.Parse(input); });
 }
        private void CheckValidParse(string input, NameValueWithParametersHeaderValue expectedResult)
        {
            NameValueWithParametersHeaderValue result = NameValueWithParametersHeaderValue.Parse(input);

            Assert.Equal(expectedResult, result);
        }