From e7a7322ef192c2bb5cfed17057de4b8a0655207b Mon Sep 17 00:00:00 2001 From: Frank Hoffmann <15r10nk-git@polarbit.de> Date: Thu, 16 Jan 2025 17:43:07 +0100 Subject: [PATCH] refactor: extracted MinMaxValue into min_max_value.py --- src/inline_snapshot/_inline_snapshot.py | 97 +------------------------ 1 file changed, 4 insertions(+), 93 deletions(-) diff --git a/src/inline_snapshot/_inline_snapshot.py b/src/inline_snapshot/_inline_snapshot.py index 956e6e8..c6464fc 100644 --- a/src/inline_snapshot/_inline_snapshot.py +++ b/src/inline_snapshot/_inline_snapshot.py @@ -185,10 +185,14 @@ def __eq__(self, other): return self == other def __le__(self, other): + from ._snapshot.min_max_value import MinValue + self._change(MinValue) return self <= other def __ge__(self, other): + from ._snapshot.min_max_value import MaxValue + self._change(MaxValue) return self >= other @@ -258,99 +262,6 @@ def _get_changes(self) -> Iterator[Change]: return iter(self._changes) -class MinMaxValue(GenericValue): - """Generic implementation for <=, >=""" - - @staticmethod - def cmp(a, b): - raise NotImplemented - - def _generic_cmp(self, other): - if self._old_value is undefined: - state()._missing_values += 1 - - if self._new_value is undefined: - self._new_value = clone(other) - if self._old_value is undefined or ignore_old_value(): - return True - return _return(self.cmp(self._old_value, other)) - else: - if not self.cmp(self._new_value, other): - self._new_value = clone(other) - - return _return(self.cmp(self._visible_value(), other)) - - def _new_code(self): - return self._file._value_to_code(self._new_value) - - def _get_changes(self) -> Iterator[Change]: - new_token = value_to_token(self._new_value) - if not self.cmp(self._old_value, self._new_value): - flag = "fix" - elif not self.cmp(self._new_value, self._old_value): - flag = "trim" - elif ( - self._ast_node is not None - and self._file._token_of_node(self._ast_node) != new_token - ): - flag = "update" - else: - return - - new_code = self._file._token_to_code(new_token) - - yield Replace( - node=self._ast_node, - file=self._file, - new_code=new_code, - flag=flag, - old_value=self._old_value, - new_value=self._new_value, - ) - - -class MinValue(MinMaxValue): - """ - handles: - - >>> snapshot(5) <= 6 - True - - >>> 6 >= snapshot(5) - True - - """ - - _current_op = "x >= snapshot" - - @staticmethod - def cmp(a, b): - return a <= b - - __le__ = MinMaxValue._generic_cmp - - -class MaxValue(MinMaxValue): - """ - handles: - - >>> snapshot(5) >= 4 - True - - >>> 4 <= snapshot(5) - True - - """ - - _current_op = "x <= snapshot" - - @staticmethod - def cmp(a, b): - return a >= b - - __ge__ = MinMaxValue._generic_cmp - - T = TypeVar("T")