Skip to content

Commit

Permalink
Add a couple simple tests of SemanticGraph.valueOf
Browse files Browse the repository at this point in the history
  • Loading branch information
AngledLuffa committed Jan 20, 2023
1 parent 2db3e6a commit 8eca9c2
Showing 1 changed file with 89 additions and 0 deletions.
89 changes: 89 additions & 0 deletions test/src/edu/stanford/nlp/semgraph/SemanticGraphTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -258,4 +258,93 @@ public void testHasChildren() {
}
}

/**
* Test the vertices and edges of a very simple valueOf graph
*/
public void testValueOfSimple() {
SemanticGraph sg = SemanticGraph.valueOf("[A/foo obj> B/bar obj> C/foo nsubj> [D/bar obj> E/baz]]");

List<IndexedWord> words = sg.vertexListSorted();
assertEquals(words.size(), 5);

for (int i = 0; i < 5; ++i) {
assertEquals(words.get(i).index(), i);
}
IndexedWord A = words.get(0);
IndexedWord B = words.get(1);
IndexedWord C = words.get(2);
IndexedWord D = words.get(3);
IndexedWord E = words.get(4);

assertEquals(A.word(), "A");
assertEquals(A.tag(), "foo");
assertEquals(B.word(), "B");
assertEquals(B.tag(), "bar");
assertEquals(C.word(), "C");
assertEquals(C.tag(), "foo");
assertEquals(D.word(), "D");
assertEquals(D.tag(), "bar");
assertEquals(E.word(), "E");
assertEquals(E.tag(), "baz");

assertEquals(sg.getAllEdges(A, B).size(), 1);
assertEquals(sg.getParentsWithReln(B, "obj").size(), 1);

assertEquals(sg.getAllEdges(A, C).size(), 1);
assertEquals(sg.getParentsWithReln(C, "obj").size(), 1);

assertEquals(sg.getAllEdges(A, D).size(), 1);
assertEquals(sg.getParentsWithReln(D, "nsubj").size(), 1);
assertEquals(sg.getParentsWithReln(D, "obj").size(), 0);
assertEquals(sg.getParentsWithReln(D, "dep").size(), 0);

assertEquals(sg.getAllEdges(A, E).size(), 0);
assertEquals(sg.getAllEdges(D, E).size(), 1);
assertEquals(sg.getParentsWithReln(E, "obj").size(), 1);
assertEquals(sg.getParentsWithReln(E, "dep").size(), 0);
}

/**
* Test the vertices and edges of a very simple valueOf graph with indices added
*/
public void testValueOfIndices() {
// test some with tags and some without
SemanticGraph sg = SemanticGraph.valueOf("[A/foo-3 obj> B/bar-1 obj> C-4 nsubj> [D-2 obj> E-0]]");

List<IndexedWord> words = sg.vertexListSorted();
assertEquals(words.size(), 5);

for (int i = 0; i < 5; ++i) {
assertEquals(words.get(i).index(), i);
}
IndexedWord A = words.get(3);
IndexedWord B = words.get(1);
IndexedWord C = words.get(4);
IndexedWord D = words.get(2);
IndexedWord E = words.get(0);

assertEquals(A.word(), "A");
assertEquals(A.tag(), "foo");
assertEquals(B.word(), "B");
assertEquals(B.tag(), "bar");
assertEquals(C.word(), "C");
assertEquals(D.word(), "D");
assertEquals(E.word(), "E");

assertEquals(sg.getAllEdges(A, B).size(), 1);
assertEquals(sg.getParentsWithReln(B, "obj").size(), 1);

assertEquals(sg.getAllEdges(A, C).size(), 1);
assertEquals(sg.getParentsWithReln(C, "obj").size(), 1);

assertEquals(sg.getAllEdges(A, D).size(), 1);
assertEquals(sg.getParentsWithReln(D, "nsubj").size(), 1);
assertEquals(sg.getParentsWithReln(D, "obj").size(), 0);
assertEquals(sg.getParentsWithReln(D, "dep").size(), 0);

assertEquals(sg.getAllEdges(A, E).size(), 0);
assertEquals(sg.getAllEdges(D, E).size(), 1);
assertEquals(sg.getParentsWithReln(E, "obj").size(), 1);
assertEquals(sg.getParentsWithReln(E, "dep").size(), 0);
}
}

0 comments on commit 8eca9c2

Please sign in to comment.