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")); }