def test_merge_same_units(): """Test pseudo_relations.merge_same_units()""" tstr_su = """ ( Root (span 1 5) ( Nucleus (span 1 4) (rel2par Problem-Solution) ( Nucleus (span 1 3) (rel2par Same-Unit) ( Nucleus (leaf 1) (rel2par span) (text _!There, kids_!) ) ( Satellite (span 2 3) (rel2par elaboration-object-attribute-e) ( Nucleus (leaf 2) (rel2par List) (text _!who skipped classes_!) ) ( Nucleus (leaf 3) (rel2par List) (text _!and refused to participate_!) ) ) ) ( Nucleus (leaf 4) (rel2par Same-Unit) (text _!were asked to solve incredibly hard problems.<P>_!) ) ) ( Nucleus (leaf 5) (rel2par Problem-Solution) (text _!A new class was setup to help them get up to speed._!) ) ) """ tstr_merged = """ ( Root (span 1 2) ( Nucleus (leaf 1) (rel2par Problem-Solution) (text _!There, kids who skipped classes and refused to participate were asked to solve incredibly hard problems.<P>_!) ) ( Nucleus (leaf 2) (rel2par Problem-Solution) (text _!A new class was setup to help them get up to speed._!) ) ) """ key_su = FileId("fake", None, None, None) # mockup doc key t_su = parse_rst_dt_tree(tstr_su) merge_same_units(key_su, t_su) t_merged_ref = parse_rst_dt_tree(tstr_merged) # assert t_su == t_merged_ref assert t_su.get_spans() == t_merged_ref.get_spans() # assert t_su.leaves() == t_merged_ref.leaves() assert ([x.__dict__ for x in t_su.leaves()] == [x.__dict__ for x in t_merged_ref.leaves()])
def test_tstr1(self): t = parse_rst_dt_tree(TSTR1) t_text = t.text() sp = treenode(t).span self.assertEqual((1, 9), t.edu_span()) self.assertEqual(TEXT1, t_text) self.assertEqual(len(t_text), sp.char_end)
def _test_trees(self): if not self._trees: self._trees = {} for i, tstr in enumerate([TSTR0, TSTR1]): self._trees["tstr%d" % i] = parse.parse_rst_dt_tree(tstr) for i in glob.glob('tests/*.dis'): bname = os.path.basename(i) tfile = os.path.splitext(i)[0] self._trees[bname] = parse.read_annotation_file(i, tfile) return self._trees
def test_tstr0(self): parse_rst_dt_tree(TSTR0)