JL iN8ddlmZddlZddlmZGddZy))TupleN) edit_distancec peZdZejj dgddedededeeeffdZ y) TestEditDistancez&left,right,substitution_cost,expecteds))abcca)rrr )wantswaspr r r )rrr r)rainshiner r)rrr r r )acbdefabcdefr r r )rrr r)lnaguaeglanguager r )rrr r)lnaugagerr r )rrr r)lngauagerr r r )rrr r)rswimr r)rrr ))kittensittingr r)r!r"r r) duplicated duuplicatedr r r )r#r$r r%)zvery duplicatedzvery duuplicateedr rleftrightsubstitution_cost expectedsc|||f||ffD]1\}}t|ddgD]\}}t||||} | |k(rJ3y)a\ Test `edit_distance` between two strings, given some `substitution_cost`, and whether transpositions are allowed. :param str left: First input string to `edit_distance`. :param str right: Second input string to `edit_distance`. :param int substitution_cost: The cost of a substitution action in `edit_distance`. :param Tuple[int, int] expecteds: A tuple of expected outputs, such that `expecteds[0]` is the expected output with `transpositions=True`, and `expecteds[1]` is the expected output with `transpositions=False`. TF)r(transpositionsN)zipr) selfr&r'r(r)s1s2expectedr+ predicteds b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/nltk/test/unit/test_distance.pytest_with_transpositionsz)TestEditDistance.test_with_transpositions sj^e}udm4 -FB,/ D%=,I -(.)&7#1  !H,,, - -N) __name__ __module__ __qualname__pytestmark parametrizestrintrr3r4r2rrsZ [[0\ _@-- #-8;-HMcSVh-A_@-r4r)typingrr8nltk.metrics.distancerrr=r4r2r@s /y-y-r4