MCPcopy
hub / github.com/explosion/spaCy / test_parser_arc_eager_finalize_state

Function test_parser_arc_eager_finalize_state

spacy/tests/parser/test_parse.py:220–290  ·  view source on GitHub ↗
(en_vocab, en_parser)

Source from the content-addressed store, hash-verified

218 reason="The step_through API was removed (but should be brought back)"
219)
220def test_parser_arc_eager_finalize_state(en_vocab, en_parser):
221 words = ["a", "b", "c", "d", "e"]
222 # right branching
223 transition = ["R-nsubj", "D", "R-nsubj", "R-nsubj", "D", "R-ROOT"]
224 tokens = Doc(en_vocab, words=words)
225 apply_transition_sequence(en_parser, tokens, transition)
226
227 assert tokens[0].n_lefts == 0
228 assert tokens[0].n_rights == 2
229 assert tokens[0].left_edge.i == 0
230 assert tokens[0].right_edge.i == 4
231 assert tokens[0].head.i == 0
232
233 assert tokens[1].n_lefts == 0
234 assert tokens[1].n_rights == 0
235 assert tokens[1].left_edge.i == 1
236 assert tokens[1].right_edge.i == 1
237 assert tokens[1].head.i == 0
238
239 assert tokens[2].n_lefts == 0
240 assert tokens[2].n_rights == 2
241 assert tokens[2].left_edge.i == 2
242 assert tokens[2].right_edge.i == 4
243 assert tokens[2].head.i == 0
244
245 assert tokens[3].n_lefts == 0
246 assert tokens[3].n_rights == 0
247 assert tokens[3].left_edge.i == 3
248 assert tokens[3].right_edge.i == 3
249 assert tokens[3].head.i == 2
250
251 assert tokens[4].n_lefts == 0
252 assert tokens[4].n_rights == 0
253 assert tokens[4].left_edge.i == 4
254 assert tokens[4].right_edge.i == 4
255 assert tokens[4].head.i == 2
256
257 # left branching
258 transition = ["S", "S", "S", "L-nsubj", "L-nsubj", "L-nsubj", "L-nsubj"]
259 tokens = Doc(en_vocab, words=words)
260 apply_transition_sequence(en_parser, tokens, transition)
261
262 assert tokens[0].n_lefts == 0
263 assert tokens[0].n_rights == 0
264 assert tokens[0].left_edge.i == 0
265 assert tokens[0].right_edge.i == 0
266 assert tokens[0].head.i == 4
267
268 assert tokens[1].n_lefts == 0
269 assert tokens[1].n_rights == 0
270 assert tokens[1].left_edge.i == 1
271 assert tokens[1].right_edge.i == 1
272 assert tokens[1].head.i == 4
273
274 assert tokens[2].n_lefts == 0
275 assert tokens[2].n_rights == 0
276 assert tokens[2].left_edge.i == 2
277 assert tokens[2].right_edge.i == 2

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…