@@ 323-355 (lines=33) @@ | ||
320 | self.assertEqual(france.subtreeType, 'undef') |
|
321 | self.assertEqual(france.dfsTag, 0) |
|
322 | ||
323 | def testQuestionInfo(self): |
|
324 | tree=computeTree(data.birth_place()) |
|
325 | NamedEntityMerging(tree).merge() |
|
326 | PrepositionMerging(tree).merge() |
|
327 | simplify(tree) |
|
328 | tree.sort() |
|
329 | root=tree |
|
330 | # Root |
|
331 | self.assertEqual(root.wordList, [Word("ROOT", 0)]) |
|
332 | self.assertEqual(root.namedEntityTag, 'undef') |
|
333 | self.assertEqual(root.dependency, 'R0') |
|
334 | self.assertEqual(root.parent, None) |
|
335 | self.assertEqual(len(root.child), 1) |
|
336 | self.assertEqual(root.subtreeType, 'DATE') |
|
337 | self.assertEqual(root.dfsTag, 0) |
|
338 | # birth date |
|
339 | birth=root.child[0] |
|
340 | self.assertEqual(birth.wordList, [Word("born", 3, 'VBN')]) |
|
341 | self.assertEqual(birth.namedEntityTag, 'undef') |
|
342 | self.assertEqual(birth.dependency, 'R0') |
|
343 | self.assertEqual(birth.parent, root) |
|
344 | self.assertEqual(len(birth.child), 1) |
|
345 | self.assertEqual(birth.subtreeType, 'DATE') |
|
346 | self.assertEqual(birth.dfsTag, 0) |
|
347 | # obama |
|
348 | obama=birth.child[0] |
|
349 | self.assertEqual(obama.wordList, [Word("Obama", 4, 'NNP')]) |
|
350 | self.assertEqual(obama.namedEntityTag, 'PERSON') |
|
351 | self.assertEqual(obama.dependency, 'R3') |
|
352 | self.assertEqual(obama.parent, birth) |
|
353 | self.assertEqual(len(obama.child), 0) |
|
354 | self.assertEqual(obama.subtreeType, 'undef') |
|
355 | self.assertEqual(obama.dfsTag, 0) |
|
356 | ||
357 | def testPassIdentity(self): |
|
358 | tree=computeTree(data.mickey()) |
|
@@ 289-321 (lines=33) @@ | ||
286 | self.assertEqual(date.subtreeType, 'undef') |
|
287 | self.assertEqual(date.dfsTag, 0) |
|
288 | ||
289 | def testNoQW(self): |
|
290 | tree=computeTree(data.birth_date()) |
|
291 | NamedEntityMerging(tree).merge() |
|
292 | PrepositionMerging(tree).merge() |
|
293 | simplify(tree) |
|
294 | tree.sort() |
|
295 | root=tree |
|
296 | # Root |
|
297 | self.assertEqual(root.wordList, [Word("ROOT", 0)]) |
|
298 | self.assertEqual(root.namedEntityTag, 'undef') |
|
299 | self.assertEqual(root.dependency, 'R0') |
|
300 | self.assertEqual(root.parent, None) |
|
301 | self.assertEqual(len(root.child), 1) |
|
302 | self.assertEqual(root.subtreeType, 'undef') |
|
303 | self.assertEqual(root.dfsTag, 0) |
|
304 | # president |
|
305 | president=root.child[0] |
|
306 | self.assertEqual(president.wordList, [Word("President", 1, 'NNP')]) |
|
307 | self.assertEqual(president.namedEntityTag, 'undef') |
|
308 | self.assertEqual(president.dependency, 'R0') |
|
309 | self.assertEqual(president.parent, root) |
|
310 | self.assertEqual(len(president.child), 1) |
|
311 | self.assertEqual(president.subtreeType, 'undef') |
|
312 | self.assertEqual(president.dfsTag, 0) |
|
313 | # france |
|
314 | france=president.child[0] |
|
315 | self.assertEqual(france.wordList, [Word("France", 3, 'NNP')]) |
|
316 | self.assertEqual(france.namedEntityTag, 'LOCATION') |
|
317 | self.assertEqual(france.dependency, 'R2') |
|
318 | self.assertEqual(france.parent, president) |
|
319 | self.assertEqual(len(france.child), 0) |
|
320 | self.assertEqual(france.subtreeType, 'undef') |
|
321 | self.assertEqual(france.dfsTag, 0) |
|
322 | ||
323 | def testQuestionInfo(self): |
|
324 | tree=computeTree(data.birth_place()) |
|
@@ 255-287 (lines=33) @@ | ||
252 | self.assertEqual(prime.subtreeType, 'undef') |
|
253 | self.assertEqual(prime.dfsTag, 0) |
|
254 | ||
255 | def testYesNoQuestion(self): |
|
256 | tree=computeTree(data.give_born()) |
|
257 | NamedEntityMerging(tree).merge() |
|
258 | PrepositionMerging(tree).merge() |
|
259 | simplify(tree) |
|
260 | tree.sort() |
|
261 | root=tree |
|
262 | # Root |
|
263 | self.assertEqual(root.wordList, [Word("ROOT", 0)]) |
|
264 | self.assertEqual(root.namedEntityTag, 'undef') |
|
265 | self.assertEqual(root.dependency, 'R0') |
|
266 | self.assertEqual(root.parent, None) |
|
267 | self.assertEqual(len(root.child), 1) |
|
268 | self.assertEqual(root.subtreeType, 'undef') |
|
269 | self.assertEqual(root.dfsTag, 0) |
|
270 | # birth |
|
271 | birth=root.child[0] |
|
272 | self.assertEqual(birth.wordList, [Word("born in", 2, 'VBN')]) |
|
273 | self.assertEqual(birth.namedEntityTag, 'undef') |
|
274 | self.assertEqual(birth.dependency, 'R0') |
|
275 | self.assertEqual(birth.parent, root) |
|
276 | self.assertEqual(len(birth.child), 1) |
|
277 | self.assertEqual(birth.subtreeType, 'undef') |
|
278 | self.assertEqual(birth.dfsTag, 0) |
|
279 | # date |
|
280 | date=birth.child[0] |
|
281 | self.assertEqual(date.wordList, [Word("1900", 4, 'CD')]) |
|
282 | self.assertEqual(date.namedEntityTag, 'DATE') |
|
283 | self.assertEqual(date.dependency, 'R3') |
|
284 | self.assertEqual(date.parent, birth) |
|
285 | self.assertEqual(len(date.child), 0) |
|
286 | self.assertEqual(date.subtreeType, 'undef') |
|
287 | self.assertEqual(date.dfsTag, 0) |
|
288 | ||
289 | def testNoQW(self): |
|
290 | tree=computeTree(data.birth_date()) |
|
@@ 90-122 (lines=33) @@ | ||
87 | self.assertEqual(are.subtreeType, 'NUMBER') |
|
88 | self.assertEqual(are.dfsTag, 0) |
|
89 | ||
90 | def testHierarchySimplification2(self): |
|
91 | tree=computeTree(data.give_USA_president()) |
|
92 | NamedEntityMerging(tree).merge() |
|
93 | PrepositionMerging(tree).merge() |
|
94 | simplify(tree) |
|
95 | tree.sort() |
|
96 | root=tree |
|
97 | # Root |
|
98 | self.assertEqual(root.wordList, [Word("ROOT", 0)]) |
|
99 | self.assertEqual(root.namedEntityTag, 'undef') |
|
100 | self.assertEqual(root.dependency, 'R0') |
|
101 | self.assertEqual(root.parent, None) |
|
102 | self.assertEqual(len(root.child), 1) |
|
103 | self.assertEqual(root.subtreeType, 'PERSON') |
|
104 | self.assertEqual(root.dfsTag, 0) |
|
105 | # Is |
|
106 | is_=root.child[0] |
|
107 | self.assertEqual(is_.wordList, [Word("is", 2, 'VBZ')]) |
|
108 | self.assertEqual(is_.namedEntityTag, 'undef') |
|
109 | self.assertEqual(is_.dependency, 'R0') |
|
110 | self.assertEqual(is_.parent, root) |
|
111 | self.assertEqual(len(is_.child), 1) |
|
112 | self.assertEqual(is_.subtreeType, 'PERSON') |
|
113 | self.assertEqual(is_.dfsTag, 0) |
|
114 | # US |
|
115 | us=is_.child[0] |
|
116 | self.assertEqual(us.wordList, [Word("United", 4, 'NNP'), Word("States", 5, 'NNPS'), Word("president", 6, 'NN')]) |
|
117 | self.assertEqual(us.namedEntityTag, 'undef') |
|
118 | self.assertEqual(us.dependency, 'R2') |
|
119 | self.assertEqual(us.parent, is_) |
|
120 | self.assertEqual(len(us.child), 0) |
|
121 | self.assertEqual(us.subtreeType, 'undef') |
|
122 | self.assertEqual(us.dfsTag, 0) |
|
123 | ||
124 | def testHierarchyConnectors1(self): |
|
125 | tree=computeTree(data.give_opera()) |