public void ParseList_SetOfValidValueStrings_ParsedCorrectly()
    {
        var inputs = new[]
        {
            "",
            "\"tag\"",
            "",
            " \"tag\" ",
            "\r\n \"tag\"\r\n ",
            "\"tag会\"",
            "\"tag\",\"tag\"",
            "\"tag\", \"tag\"",
            "W/\"tag\"",
        };
        IList <EntityTagHeaderValue> results = EntityTagHeaderValue.ParseList(inputs);

        var expectedResults = new[]
        {
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag会\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\"", true),
        }.ToList();

        Assert.Equal(expectedResults, results);
    }
    public void ParseList_WithSomeInvalidValues_ExcludesInvalidValues()
    {
        var inputs = new[]
        {
            "",
            "\"tag\", tag, \"tag\"",
            "tag, \"tag\"",
            "",
            " \"tag ",
            "\r\n tag\"\r\n ",
            "\"tag会\"",
            "\"tag\", \"tag\"",
            "W/\"tag\"",
        };
        var results         = EntityTagHeaderValue.ParseList(inputs);
        var expectedResults = new[]
        {
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag会\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\""),
            new EntityTagHeaderValue("\"tag\"", true),
        }.ToList();

        Assert.Equal(expectedResults, results);
    }
    public void ParseList_NullOrEmptyArray_ReturnsEmptyList()
    {
        var result = EntityTagHeaderValue.ParseList(null);

        Assert.NotNull(result);
        Assert.Equal(0, result.Count);

        result = EntityTagHeaderValue.ParseList(new string[0]);
        Assert.NotNull(result);
        Assert.Equal(0, result.Count);

        result = EntityTagHeaderValue.ParseList(new string[] { "" });
        Assert.NotNull(result);
        Assert.Equal(0, result.Count);
    }