public void TestExpectedBehaviour()
        {
            var endpoints = new Endpoint[] {
                new Endpoint(Method.Get, "/api/document/{id}", null),
                new Endpoint(Method.Get, "/api/document/", null),
                new Endpoint(Method.Get, "/api/document/{id}/owner", null),
                new Endpoint(Method.Post, "/api/document/{id}", null),
                new Endpoint(Method.Delete, "/api/document/{id}", null),
                new Endpoint(Method.Put, "/api/document/{id}", null)
            };

            var router = new Router(endpoints);

            var parameter = new Dictionary<string, object>();
            var retrievedEndpoint = router.FindEndpoint("GET", "/api/document/10", parameter);

            Assert.AreEqual(endpoints[0], retrievedEndpoint);
            Assert.AreEqual(Method.Get, retrievedEndpoint.Method);
            Assert.AreEqual("/api/document/{id}", retrievedEndpoint.Route);
            Assert.AreEqual(true, parameter.ContainsKey("id"));
        }