anchor.diff:  let services = Substitute.For<IServiceProvider>()
   
   // ---------------------------------
  -// HttpHandler application
  +// Test Types
   // ---------------------------------
   
   type Dummy =
  
positive.code: 
      let result = 
          { HttpContext = ctx; Services = services }
          |> testApp
          |> Async.RunSynchronously
  
      match result with
      | None          -> assertFailf "Result was expected to be %s" expected
      | Some ctx ->
          let body = getBody ctx
          Assert.Equal(expected, body)
  
  [<Fact>]
  let ``GET "/foo/johndoe/59" returns "Name: johndoe, Age: 59"`` () =
      ctx.Request.Method.ReturnsForAnyArgs "GET" |> ignore
      ctx.Request.Path.ReturnsForAnyArgs (PathString("/foo/johndoe/59")) |> ignore
      ctx.Response.Body <- new MemoryStream()
  
negative.code: 
      let result = 
          { HttpContext = ctx; Services = services }
          |> app
          |> Async.RunSynchronously
  
      match result with
      | None     -> assertFailf "Result was expected to be %s" expected
      | Some ctx ->
          let body = getBody ctx
          Assert.Equal(expected, body)
  
  [<Fact>]
  let ``POST "/POsT/1" returns "1"`` () =
      let app =
          choose [
              GET >>= choose [ 
                  route "/"          >>= text "Hello World" ]
              POST >>= choose [
                  route    "/post/1" >>= text "1"
                  routeCif "/post/%i" json ]
              setStatusCode 404 >>= text "Not found" ]
  
      ctx.Request.Method.ReturnsForAnyArgs "POST" |> ignore
      ctx.Request.Path.ReturnsForAnyArgs (PathString("/POsT/1")) |> ignore
      ctx.Response.Body <- new MemoryStream()
  