Esempio n. 1
0
  @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());
  }