示例#1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Parameterized.Parameters public static java.util.Collection<Object[]> data()
        public static ICollection <object[]> Data()
        {
            return(Arrays.asList(new object[][]
            {
                new object[]
                {
                    PathExpanders.allTypesAndDirections(), PathInterestFactory.All(), Uniqueness.NODE_PATH, new string[] { "a", "a,b", "a,c", "a,b,d", "a,b,c", "a,c,b", "a,c,b,d" }
                },
                new object[]
                {
                    PathExpanders.allTypesAndDirections(), PathInterestFactory.AllShortest(), Uniqueness.NODE_PATH, new string[] { "a", "a,b", "a,c", "a,b,d" }
                },
                new object[]
                {
                    PathExpanders.forDirection(Direction.OUTGOING), PathInterestFactory.All(), Uniqueness.NODE_PATH, new string[] { "a", "a,b", "a,c", "a,b,d", "a,c,b", "a,c,b,d" }
                },
                new object[]
                {
                    PathExpanders.allTypesAndDirections(), PathInterestFactory.All(), Uniqueness.NODE_GLOBAL, new string[] { "a", "a,b", "a,c", "a,b,d" }
                },
                new object[]
                {
                    PathExpanders.allTypesAndDirections(), PathInterestFactory.All(), Uniqueness.RELATIONSHIP_GLOBAL, new string[] { "a", "a,b", "a,c", "a,b,d", "a,b,c" }
                }
            }));
        }
示例#2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testExactDepthPathsLoopsAllowed()
        public virtual void TestExactDepthPathsLoopsAllowed()
        {
            // Layout:
            //
            // (a)-->(b)==>(c)-->(e)
            //        ^    /
            //         \  v
            //         (d)
            //
            Graph.makeEdgeChain("a,b,c,d,b,c,e");
            Node a = Graph.getNode("a");
            Node e = Graph.getNode("e");

            AssertPaths((new ExactDepthPathFinder(PathExpanders.forDirection(Direction.OUTGOING), 6, int.MaxValue, true)).findAllPaths(a, e), "a,b,c,d,b,c,e");
        }
示例#3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldHandleDirectionalGraph()
        public virtual void ShouldHandleDirectionalGraph()
        {
            // ALL DIRECTED from (a) towards (g)
            //     (b) ----------------- (c)      length 3
            //   /                          \
            // (a) - (h) - (i) - (j) - (k) - (g)  length 5
            //   \                          /
            //     (d) - (e) ------------ (f)     length 4
            Graph.makeEdgeChain("a,b,c,g");
            Graph.makeEdgeChain("a,d,e,f,g");
            Graph.makeEdgeChain("a,h,i,j,k,g");
            Node a = Graph.getNode("a");
            Node g = Graph.getNode("g");

            AssertPaths((new ExactDepthPathFinder(PathExpanders.forDirection(Direction.OUTGOING), 3, int.MaxValue, false)).findAllPaths(a, g), "a,b,c,g");
            AssertPaths((new ExactDepthPathFinder(PathExpanders.forDirection(Direction.OUTGOING), 4, int.MaxValue, false)).findAllPaths(a, g), "a,d,e,f,g");
            AssertPaths((new ExactDepthPathFinder(PathExpanders.forDirection(Direction.OUTGOING), 5, int.MaxValue, false)).findAllPaths(a, g), "a,h,i,j,k,g");
        }
示例#4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void makeSureDescentStopsWhenPathIsFound()
        public virtual void MakeSureDescentStopsWhenPathIsFound()
        {
            /*
             * (a)==>(b)==>(c)==>(d)==>(e)
             *   \
             *    v
             *    (f)-->(g)-->(h)-->(i)
             */
            Graph.makeEdgeChain("a,b,c,d,e");
            Graph.makeEdgeChain("a,b,c,d,e");
            Graph.makeEdgeChain("a,f,g,h,i");
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphdb.Node a = graph.getNode("a");
            Node a = Graph.getNode("a");
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphdb.Node b = graph.getNode("b");
            Node b = Graph.getNode("b");
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphdb.Node c = graph.getNode("c");
            Node c = Graph.getNode("c");
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final java.util.Set<org.neo4j.graphdb.Node> allowedNodes = new java.util.HashSet<>(java.util.Arrays.asList(a, b, c));
            ISet <Node> allowedNodes = new HashSet <Node>(Arrays.asList(a, b, c));
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphalgo.PathFinder<org.neo4j.graphdb.Path> finder = new ShortestPath(100, org.neo4j.graphdb.PathExpanders.forDirection(OUTGOING))
            PathFinder <Path>  finder = new ShortestPathAnonymousInnerClass(this, PathExpanders.forDirection(OUTGOING), allowedNodes);
            IEnumerator <Path> paths  = finder.FindAllPaths(a, c).GetEnumerator();

            for (int i = 0; i < 4; i++)
            {
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
                Path aToBToC = paths.next();
                AssertPath(aToBToC, a, b, c);
            }
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            assertFalse("should only have contained four paths", paths.hasNext());
        }