public string GetUrl() { if (Options == null) { Options = QueryOptions.Default(); } var request = new ApiRequest(); var filters = GetFilter(); var structure = GetStructure(); var format = GetFormat(); request.Parts.Add(filters); request.Parts.Add(structure); request.Parts.Add(format); return(GetUrl(request)); }
public void GetPath_LoopNoLoop() { var g = Assets.GetTinyLoopGraph(); _output.WriteLine(g.GetDot()); { var paths = g.GetPaths("a", "a1", options: QueryOptions.Default(4)).ToArray(); paths.Length.ShouldBe(3); var p0 = paths[0]; _output.WriteLine(p0.Print()); p0.Depth.ShouldBe(1); p0.Vertexes.Length.ShouldBe(1); p0.Edges.Length.ShouldBe(0); p0.Vertexes[0].Value.ShouldBe("A1"); var p1 = paths[1]; _output.WriteLine(p1.Print()); p1.Depth.ShouldBe(2); p1.Vertexes.Length.ShouldBe(2); p1.Edges.Length.ShouldBe(1); p1.Vertexes[0].Value.ShouldBe("A1"); p1.Edges[0].Value.ShouldBe("X1"); p1.Vertexes[1].Value.ShouldBe("A2"); var p2 = paths[2]; _output.WriteLine(p2.Print()); p2.Depth.ShouldBe(3); p2.Vertexes.Length.ShouldBe(3); p2.Edges.Length.ShouldBe(2); p2.Vertexes[0].Value.ShouldBe("A1"); p2.Edges[0].Value.ShouldBe("X1"); p2.Vertexes[1].Value.ShouldBe("A2"); p2.Edges[1].Value.ShouldBe("Z1"); p2.Vertexes[2].Value.ShouldBe("A1"); } { var paths = g.GetPaths("a", "a2", options: QueryOptions.Default(2)).ToArray(); paths.Length.ShouldBe(2); var p0 = paths[0]; _output.WriteLine(p0.Print()); p0.Depth.ShouldBe(1); p0.Vertexes.Length.ShouldBe(1); p0.Edges.Length.ShouldBe(0); p0.Vertexes[0].Value.ShouldBe("A2"); var p1 = paths[1]; _output.WriteLine(p1.Print()); p1.Depth.ShouldBe(2); p1.Vertexes.Length.ShouldBe(2); p1.Edges.Length.ShouldBe(1); p1.Vertexes[0].Value.ShouldBe("A2"); p1.Vertexes[1].Value.ShouldBe("A1"); p1.Edges[0].Value.ShouldBe("Z1"); } { var paths = g.GetPaths("a", "a2", options: QueryOptions.NoLoops(10)).ToArray(); paths.Length.ShouldBe(2); var p0 = paths[0]; _output.WriteLine(p0.Print()); p0.Depth.ShouldBe(1); p0.Vertexes.Length.ShouldBe(1); p0.Edges.Length.ShouldBe(0); p0.Vertexes[0].Value.ShouldBe("A2"); var p1 = paths[1]; _output.WriteLine(p1.Print()); p1.Depth.ShouldBe(2); p1.Vertexes.Length.ShouldBe(2); p1.Edges.Length.ShouldBe(1); p1.Vertexes[0].Value.ShouldBe("A2"); p1.Vertexes[1].Value.ShouldBe("A1"); p1.Edges[0].Value.ShouldBe("Z1"); } }