Skip to content

Commit 067deff

Browse files
krivarddshemetov
andauthored
Refactor expected exports into __post_init__
Co-authored-by: Dmitry Shemetov <[email protected]>
1 parent 15de814 commit 067deff

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

_delphi_utils_python/tests/test_archive.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from dataclasses import dataclass
1+
from dataclasses import dataclass, field
22
from io import StringIO, BytesIO
33
from os import listdir, mkdir
44
from os.path import join
@@ -41,13 +41,17 @@ def _set_df_datatypes(df: pd.DataFrame, dtypes: Dict[str, Any]) -> pd.DataFrame:
4141

4242
@dataclass
4343
class Expecteds:
44-
deleted: Any
45-
common_diffs: Any
46-
new: Any
47-
raw_exports: Any = None
48-
diffed_exports: Any = None
49-
filtered_exports: Any = None
50-
44+
deleted: List[str]
45+
common_diffs: Dict[str, str]
46+
new: List[str]
47+
raw_exports: List[str] = field(init=False)
48+
diffed_exports: List[str] = field(init=False)
49+
filtered_exports: List[str] = field(init=False)
50+
51+
def __post_init__(self):
52+
self.raw_exports = list(self.common_diffs.keys()) + self.new
53+
self.diffed_exports = self.raw_exports + [diff_name for diff_name in self.common_diffs.values() if diff_name is not None]
54+
self.filtered_exports = [f.replace(".diff", "") for f in self.diffed_exports if f.endswith(".diff")] + self.new
5155
EMPTY = "empty"
5256
CSVS = {
5357
"unchanged": Example( # was: csv0
@@ -187,12 +191,6 @@ class Expecteds:
187191
# check for incomplete modifications to tests
188192
assert set(EXPECTEDS.new) == set(f"{csv_name}.csv" for csv_name, dfs in CSVS.items() if dfs.before is None), \
189193
"Bad programmer: added more new files to CSVS.after without updating EXPECTEDS.new"
190-
EXPECTEDS.raw_exports = list(EXPECTEDS.common_diffs.keys()) + \
191-
EXPECTEDS.new
192-
EXPECTEDS.diffed_exports = EXPECTEDS.raw_exports + \
193-
[diff_name for diff_name in EXPECTEDS.common_diffs.values() if diff_name is not None]
194-
EXPECTEDS.filtered_exports = [f.replace(".diff", "") for f in EXPECTEDS.diffed_exports if f.endswith(".diff")] + \
195-
EXPECTEDS.new
196194

197195
def _assert_frames_equal_ignore_row_order(df1, df2, index_cols: List[str] = None):
198196
return assert_frame_equal(df1.set_index(index_cols).sort_index(), df2.set_index(index_cols).sort_index())

0 commit comments

Comments
 (0)