public void scanner_generates_pathinfo() { const string basepath1 = "/base1"; const string basepath2 = "base2"; var scanner = new RouteScanner(); var empty = string.Empty; scanner.PathInfoGenerator("^/api/resource", empty).Equals("^/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("^api/resource", empty).Equals("^/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("/api/resource", empty).Equals("/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("api/resource", empty).Equals("/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("^/api/resource", basepath1).Equals("^/base1/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("^api/resource", basepath1).Equals("^/base1/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("/api/resource", basepath1).Equals("/base1/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("api/resource", basepath1).Equals("/base1/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("^/api/resource", basepath2).Equals("^/base2/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("^api/resource", basepath2).Equals("^/base2/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("/api/resource", basepath2).Equals("/base2/api/resource").ShouldBeTrue(); scanner.PathInfoGenerator("api/resource", basepath2).Equals("/base2/api/resource").ShouldBeTrue(); }