anchor.diff:      | x -> failwithf "can't handle any of these content types: %A, failing with 406" x
   
   [<Fact>]
  -let ``Content type active pattern``() =
  +let ``Media type active pattern``() =
       let accept = "text/html; q=0.8; level=2, text/html; q=0.2; level=1, image/png, image/jpeg;q=0.8"
       let images = accept |> filterMediaTypes "image" |> List.map fst
       match images with
  
positive.code:     Assert.Equal(None, matchLanguage "en" "en-ca")
  
  [<Fact>]
  let ``filter and sort languages``() =
      let accept = "da, en-gb;q=0.8, en;q=0.7"
      let serves = ["en-us"]
      let sorted = negotiateLanguage serves accept
      Assert.Equal(["en-us",0.7], sorted)
  
  [<Fact>]
  let ``filter and sort charset with implicit iso-8859-1``() =
      let accept = "iso-8859-5, unicode-1-1;q=0.8"
      let serves = ["iso-8859-1"]
      let sorted = negotiateCharset serves accept
      Assert.Equal(["iso-8859-1",1.], sorted)
  
  [<Fact>]
  let ``filter and sort charset with implicit iso-8859-1 in wildcard with q``() =
      let accept = "iso-8859-5, unicode-1-1;q=0.8, *;q=0.7"
      let serves = ["iso-8859-1"; "unicode-1-1"]
      let sorted = negotiateCharset serves accept
      Assert.Equal(["unicode-1-1",0.8; "iso-8859-1",0.6999], sorted)
  
  [<Fact>]
  let ``filter and sort charset with implicit iso-8859-1 in wildcard with q=0``() =
      let accept = "iso-8859-5, unicode-1-1;q=0.8, *;q=0"
      let serves = ["iso-8859-1"; "unicode-1-1"]
      let sorted = negotiateCharset serves accept
      Assert.Equal(["unicode-1-1",0.8], sorted)
  
  [<Fact>]
  let ``filter and sort charset with explicit iso-8859-1 and wildcard with q``() =
      let accept = "iso-8859-5, iso-8859-1;q=0.9, unicode-1-1;q=0.8, *;q=0.7"
      let serves = ["iso-8859-1"; "unicode-1-1"]
      let sorted = negotiateCharset serves accept
      Assert.Equal(["iso-8859-1",0.9; "unicode-1-1",0.8], sorted)
  
  [<Fact>]
  let ``filter and sort charset with empty accept``() =
      let accept: string = null
      let serves = ["iso-8859-1"; "unicode-1-1"]
      let sorted = negotiateCharset serves accept
  
negative.code:     | x -> failwithf "wrong parsing: %A" x
  
  [<Fact>]
  let ``Media type matching``() =
      let accept = "text/html; q=0.8; level=2, text/html; q=0.2; level=1, image/png, image/jpeg;q=0.8"
      let images = accept |> filterMediaTypes "image"
      match images with
  