From 10a0da547a90141566176e2ac0c123c538f11f21 Mon Sep 17 00:00:00 2001 From: Llewellyn Falco Date: Sun, 14 Apr 2024 20:31:02 +0000 Subject: [PATCH] - F full parse3 Co-Authored-By: 4dsherwood <4dsherwood@users.noreply.github.com> Co-Authored-By: Nitsan Avni Co-Authored-By: Susan Fung <38925660+susanfung@users.noreply.github.com> Co-Authored-By: T. E. Green <78671457+Tegsy@users.noreply.github.com> --- approvaltests/inline/parse2.py | 1 + approvaltests/inline/parse3.py | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/approvaltests/inline/parse2.py b/approvaltests/inline/parse2.py index 9a1411b0..78b1cfc0 100644 --- a/approvaltests/inline/parse2.py +++ b/approvaltests/inline/parse2.py @@ -12,6 +12,7 @@ def __init__( self._transformer = transformer self.options = options + def verify_all(self, transform: Callable[[T1, T2], Any]): from approvaltests.inline.parse import Parse diff --git a/approvaltests/inline/parse3.py b/approvaltests/inline/parse3.py index 5ace6ea7..1d631463 100644 --- a/approvaltests/inline/parse3.py +++ b/approvaltests/inline/parse3.py @@ -1,12 +1,11 @@ from typing import Generic, Callable, Tuple, Any from approvaltests import verify_all -from approvaltests.inline.types import T1, T2, T3, NT1, NT2 - +from approvaltests.inline.types import T1, T2, T3, NT1, NT2, NT3 class Parse3(Generic[T1, T2, T3]): def __init__( - self, text: str, transformer: Callable[[str], Tuple[T1, T2, int]], options + self, text: str, transformer: Callable[[str], Tuple[T1, T2, T3]], options ) -> None: self.text = text self._transformer = transformer @@ -14,19 +13,19 @@ def __init__( def verify_all(self, transform: Callable[[T1, T2, T3], Any]): from approvaltests.inline.parse import Parse - + verify_all( "", Parse.parse_inputs(self.text, self._transformer), - lambda s: f"{s[0]}, {s[1]}, {s[2]} -> {transform(s[0], s[1],s[2])}", + lambda s: f"{s[0]}, {s[1]}, {s[2]} -> {transform(s[0], s[1], s[2])}", options=self.options.inline(), ) - def transform2( - self, transform1: Callable[[T1], NT1], transform2: Callable[[T2], NT2] - ) -> "Parse2[NT1, NT2]": - def transformer(s: str) -> Tuple[NT1, NT2]: - t1, t2 = self._transformer(s) - return (transform1(t1), transform2(t2)) + def transform3( + self, transform1: Callable[[T1], NT1], transform2: Callable[[T2], NT2], transform3: Callable[[T3], NT3] + ) -> "Parse3[NT1, NT2, NT3]": + def transformer(s: str) -> Tuple[NT1, NT2, NT3]: + t1, t2, t3 = self._transformer(s) + return (transform1(t1), transform2(t2), transform3(t3)) - return Parse2(self.text, transformer, self.options) + return Parse3(self.text, transformer, self.options)