|
1 |
| -from dataclasses import dataclass |
| 1 | +from dataclasses import dataclass, field |
2 | 2 | from io import StringIO, BytesIO
|
3 | 3 | from os import listdir, mkdir
|
4 | 4 | from os.path import join
|
@@ -41,13 +41,17 @@ def _set_df_datatypes(df: pd.DataFrame, dtypes: Dict[str, Any]) -> pd.DataFrame:
|
41 | 41 |
|
42 | 42 | @dataclass
|
43 | 43 | 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 |
51 | 55 | EMPTY = "empty"
|
52 | 56 | CSVS = {
|
53 | 57 | "unchanged": Example( # was: csv0
|
@@ -187,12 +191,6 @@ class Expecteds:
|
187 | 191 | # check for incomplete modifications to tests
|
188 | 192 | assert set(EXPECTEDS.new) == set(f"{csv_name}.csv" for csv_name, dfs in CSVS.items() if dfs.before is None), \
|
189 | 193 | "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 |
196 | 194 |
|
197 | 195 | def _assert_frames_equal_ignore_row_order(df1, df2, index_cols: List[str] = None):
|
198 | 196 | return assert_frame_equal(df1.set_index(index_cols).sort_index(), df2.set_index(index_cols).sort_index())
|
|
0 commit comments