Skip to content

Commit 8eca9c2

Browse files
committed
Add a couple simple tests of SemanticGraph.valueOf
1 parent 2db3e6a commit 8eca9c2

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

test/src/edu/stanford/nlp/semgraph/SemanticGraphTest.java

+89
Original file line numberDiff line numberDiff line change
@@ -258,4 +258,93 @@ public void testHasChildren() {
258258
}
259259
}
260260

261+
/**
262+
* Test the vertices and edges of a very simple valueOf graph
263+
*/
264+
public void testValueOfSimple() {
265+
SemanticGraph sg = SemanticGraph.valueOf("[A/foo obj> B/bar obj> C/foo nsubj> [D/bar obj> E/baz]]");
266+
267+
List<IndexedWord> words = sg.vertexListSorted();
268+
assertEquals(words.size(), 5);
269+
270+
for (int i = 0; i < 5; ++i) {
271+
assertEquals(words.get(i).index(), i);
272+
}
273+
IndexedWord A = words.get(0);
274+
IndexedWord B = words.get(1);
275+
IndexedWord C = words.get(2);
276+
IndexedWord D = words.get(3);
277+
IndexedWord E = words.get(4);
278+
279+
assertEquals(A.word(), "A");
280+
assertEquals(A.tag(), "foo");
281+
assertEquals(B.word(), "B");
282+
assertEquals(B.tag(), "bar");
283+
assertEquals(C.word(), "C");
284+
assertEquals(C.tag(), "foo");
285+
assertEquals(D.word(), "D");
286+
assertEquals(D.tag(), "bar");
287+
assertEquals(E.word(), "E");
288+
assertEquals(E.tag(), "baz");
289+
290+
assertEquals(sg.getAllEdges(A, B).size(), 1);
291+
assertEquals(sg.getParentsWithReln(B, "obj").size(), 1);
292+
293+
assertEquals(sg.getAllEdges(A, C).size(), 1);
294+
assertEquals(sg.getParentsWithReln(C, "obj").size(), 1);
295+
296+
assertEquals(sg.getAllEdges(A, D).size(), 1);
297+
assertEquals(sg.getParentsWithReln(D, "nsubj").size(), 1);
298+
assertEquals(sg.getParentsWithReln(D, "obj").size(), 0);
299+
assertEquals(sg.getParentsWithReln(D, "dep").size(), 0);
300+
301+
assertEquals(sg.getAllEdges(A, E).size(), 0);
302+
assertEquals(sg.getAllEdges(D, E).size(), 1);
303+
assertEquals(sg.getParentsWithReln(E, "obj").size(), 1);
304+
assertEquals(sg.getParentsWithReln(E, "dep").size(), 0);
305+
}
306+
307+
/**
308+
* Test the vertices and edges of a very simple valueOf graph with indices added
309+
*/
310+
public void testValueOfIndices() {
311+
// test some with tags and some without
312+
SemanticGraph sg = SemanticGraph.valueOf("[A/foo-3 obj> B/bar-1 obj> C-4 nsubj> [D-2 obj> E-0]]");
313+
314+
List<IndexedWord> words = sg.vertexListSorted();
315+
assertEquals(words.size(), 5);
316+
317+
for (int i = 0; i < 5; ++i) {
318+
assertEquals(words.get(i).index(), i);
319+
}
320+
IndexedWord A = words.get(3);
321+
IndexedWord B = words.get(1);
322+
IndexedWord C = words.get(4);
323+
IndexedWord D = words.get(2);
324+
IndexedWord E = words.get(0);
325+
326+
assertEquals(A.word(), "A");
327+
assertEquals(A.tag(), "foo");
328+
assertEquals(B.word(), "B");
329+
assertEquals(B.tag(), "bar");
330+
assertEquals(C.word(), "C");
331+
assertEquals(D.word(), "D");
332+
assertEquals(E.word(), "E");
333+
334+
assertEquals(sg.getAllEdges(A, B).size(), 1);
335+
assertEquals(sg.getParentsWithReln(B, "obj").size(), 1);
336+
337+
assertEquals(sg.getAllEdges(A, C).size(), 1);
338+
assertEquals(sg.getParentsWithReln(C, "obj").size(), 1);
339+
340+
assertEquals(sg.getAllEdges(A, D).size(), 1);
341+
assertEquals(sg.getParentsWithReln(D, "nsubj").size(), 1);
342+
assertEquals(sg.getParentsWithReln(D, "obj").size(), 0);
343+
assertEquals(sg.getParentsWithReln(D, "dep").size(), 0);
344+
345+
assertEquals(sg.getAllEdges(A, E).size(), 0);
346+
assertEquals(sg.getAllEdges(D, E).size(), 1);
347+
assertEquals(sg.getParentsWithReln(E, "obj").size(), 1);
348+
assertEquals(sg.getParentsWithReln(E, "dep").size(), 0);
349+
}
261350
}

0 commit comments

Comments
 (0)