def test_no_root_nodes(self): tokenlist = TokenList([ OrderedDict([('id', 1), ('form', 'To'), ('head', 1)]), OrderedDict([('id', 2), ('form', 'appear'), ('head', 2)]), ]) with self.assertRaises(ParseException): tokenlist.to_tree()
def test_multiple_root_nodes(self): tokenlist = TokenList([ OrderedDict([('id', 1), ('form', 'To'), ('head', 0)]), OrderedDict([('id', 2), ('form', 'appear'), ('head', 1)]), OrderedDict([('id', 4), ('form', 'EMNLP'), ('head', 0)]), OrderedDict([('id', 5), ('form', '2014'), ('head', 4)]), ]) with self.assertRaises(ParseException): tokenlist.to_tree()
def test_multiple_root_nodes(self): tokenlist = TokenList([ Token([('id', 1), ('form', 'To'), ('head', 0)]), Token([('id', 2), ('form', 'appear'), ('head', 1)]), Token([('id', 4), ('form', 'EMNLP'), ('head', 0)]), Token([('id', 5), ('form', '2014'), ('head', 4)]), Token([('id', 6), ('form', 'Yay!'), ('head', 0)]), ]) tree = TokenTree( token=Token([("id", 0), ("form", "_"), ("deprel", "root")]), children=[ TokenTree( token=Token([("id", 1), ("form", "To"), ("head", 0)]), children=[TokenTree( token=Token([("id", 2), ("form", "appear"), ("head", 1)]), children=[] )] ), TokenTree( token=Token([("id", 4), ("form", "EMNLP"), ("head", 0)]), children=[TokenTree( token=Token([("id", 5), ("form", "2014"), ("head", 4)]), children=[] )] ), TokenTree( token=Token([("id", 6), ("form", "Yay!"), ("head", 0)]), children=[] ), ] ) self.assertTreeEqual(tokenlist.to_tree(), tree)
def test_simple_tree(self): tokenlist = TokenList([ Token([("id", 2), ("form", "dog"), ("head", 0)]), Token([("id", 1), ("form", "a"), ("head", 2)]), ]) tree = TokenTree(token=Token([("id", 2), ("form", "dog"), ("head", 0)]), children=[ TokenTree(token=Token([("id", 1), ("form", "a"), ("head", 2)]), children=[]) ]) self.assertTreeEqual(tokenlist.to_tree(), tree)
def test_to_tree(self): tokenlist = TokenList([ OrderedDict([("id", 2), ("form", "dog"), ("head", 0)]), OrderedDict([("id", 1), ("form", "a"), ("head", 2)]), ]) tree = TokenTree( token=OrderedDict([("id", 2), ("form", "dog"), ("head", 0)]), children=[TokenTree( token=OrderedDict([("id", 1), ("form", "a"), ("head", 2)]), children=[] )] ) self.assertEqual(tokenlist.to_tree(), tree)
def test_removes_negative_nodes(self): tokenlist = TokenList([ Token([("id", 2), ("form", "dog"), ("head", 0)]), Token([("id", 1), ("form", "a"), ("head", 2)]), Token([("id", 3), ("form", "😍"), ("head", -1)]), ]) tree = TokenTree(token=Token([("id", 2), ("form", "dog"), ("head", 0)]), children=[ TokenTree(token=Token([("id", 1), ("form", "a"), ("head", 2)]), children=[]) ]) self.assertTreeEqual(tokenlist.to_tree(), tree)