public void ParseStrictList_SetOfValidValueStrings_ParsedCorrectly()
    {
        var inputs = new[]
        {
            "",
            "name=value1",
            "",
            " name = value2 ",
            "\r\n name =value3\r\n ",
            "name=\"value 4\"",
            "name=\"value会5\"",
            "name=value6,name=value7",
            "name=\"value 8\", name= \"value 9\"",
        };
        var results = NameValueHeaderValue.ParseStrictList(inputs);

        var expectedResults = new[]
        {
            new NameValueHeaderValue("name", "value1"),
            new NameValueHeaderValue("name", "value2"),
            new NameValueHeaderValue("name", "value3"),
            new NameValueHeaderValue("name", "\"value 4\""),
            new NameValueHeaderValue("name", "\"value会5\""),
            new NameValueHeaderValue("name", "value6"),
            new NameValueHeaderValue("name", "value7"),
            new NameValueHeaderValue("name", "\"value 8\""),
            new NameValueHeaderValue("name", "\"value 9\""),
        }.ToList();

        Assert.Equal(expectedResults, results);
    }
    public void ParseStrictList_WithSomeInvalidValues_Throws()
    {
        var inputs = new[]
        {
            "",
            "name1=value1",
            "name2",
            " name3 = 3, value a",
            "name4 =value4, name5 = value5 b",
            "name6=\"value 6",
            "name7=\"value会7\"",
            "name8=value8,name9=value9",
            "name10=\"value 10\", name11= \"value 11\"",
        };

        Assert.Throws <FormatException>(() => NameValueHeaderValue.ParseStrictList(inputs));
    }