This is an automated email from the ASF dual-hosted git repository.

chunwei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/master by this push:
     new 6dba0ac  [CALCITE-4425] Class DefaultEdge lacks a proper toString 
implementation (Liya Fan)
6dba0ac is described below

commit 6dba0ac4b8085426d67574a094f23eb407b3633d
Author: liyafan82 <[email protected]>
AuthorDate: Wed Dec 2 20:20:05 2020 +0800

    [CALCITE-4425] Class DefaultEdge lacks a proper toString implementation 
(Liya Fan)
---
 .../main/java/org/apache/calcite/util/graph/DefaultEdge.java |  4 ++++
 .../org/apache/calcite/util/graph/DirectedGraphTest.java     | 12 ++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/core/src/main/java/org/apache/calcite/util/graph/DefaultEdge.java 
b/core/src/main/java/org/apache/calcite/util/graph/DefaultEdge.java
index 00f130a..a1a5180 100644
--- a/core/src/main/java/org/apache/calcite/util/graph/DefaultEdge.java
+++ b/core/src/main/java/org/apache/calcite/util/graph/DefaultEdge.java
@@ -43,6 +43,10 @@ public class DefaultEdge {
         && ((DefaultEdge) obj).target.equals(target);
   }
 
+  @Override public String toString() {
+    return source + " -> " + target;
+  }
+
   public static <V extends Object> DirectedGraph.EdgeFactory<V, DefaultEdge> 
factory() {
     // see https://github.com/typetools/checker-framework/issues/3637
     //noinspection Convert2MethodRef
diff --git 
a/core/src/test/java/org/apache/calcite/util/graph/DirectedGraphTest.java 
b/core/src/test/java/org/apache/calcite/util/graph/DirectedGraphTest.java
index c98330e..028fcc5 100644
--- a/core/src/test/java/org/apache/calcite/util/graph/DirectedGraphTest.java
+++ b/core/src/test/java/org/apache/calcite/util/graph/DirectedGraphTest.java
@@ -375,6 +375,18 @@ class DirectedGraphTest {
     assertThat(Iterables.size(g.getEdges("A", "B")), is(2));
   }
 
+  @Test void testToString() {
+    DefaultDirectedGraph<String, DefaultEdge> g = createDag();
+    assertThat(
+        g.toString(), is("graph(vertices: [A, B, C, D, E, F], "
+            + "edges: [A -> B, A -> E, B -> C, C -> D, E -> C, E -> F])"));
+
+    DefaultDirectedGraph<String, DefaultEdge> g1 = createDag1();
+    assertThat(
+        g1.toString(), is("graph(vertices: [A, B, C, D, E, F], "
+            + "edges: [A -> B, A -> D, B -> C, C -> E, D -> E])"));
+  }
+
   /** Edge that stores its attributes in a list. */
   private static class DefaultAttributedEdge extends DefaultEdge {
     private final List list;

Reply via email to