@Test public void testGetAlignmentSets() throws Exception { AMR amr = new AMR(); AMR.Node root = amr.addNode("r", "root"); AMR.Node child1 = amr.addNode("c1", "child1"); AMR.Node child2 = amr.addNode("c2", "child2"); AMR.Arc arc1 = amr.addArc(root, child1, "arc1"); AMR.Arc arc2 = amr.addArc(root, child2, "arc2"); child1.alignment = 0; root.alignment = 1; child2.alignment = 2; Map<Integer, Set<AMR.Node>> alignmentSets = ParserUtils.getAlignmentSets(amr); assertEquals(1, alignmentSets.get(0).size()); assertEquals(child1, alignmentSets.get(0).iterator().next()); assertEquals(1, alignmentSets.get(1).size()); assertEquals(root, alignmentSets.get(1).iterator().next()); assertEquals(1, alignmentSets.get(2).size()); assertEquals(child2, alignmentSets.get(2).iterator().next()); child2.alignment = 0; alignmentSets = ParserUtils.getAlignmentSets(amr); assertEquals(2, alignmentSets.get(0).size()); assertTrue(alignmentSets.get(0).contains(child1)); assertTrue(alignmentSets.get(0).contains(child2)); assertEquals(1, alignmentSets.get(1).size()); assertEquals(root, alignmentSets.get(1).iterator().next()); }