Confirm two nested structures with the same structure.
(nest1, nest2, check_types=True, skip_if=None)
| 343 | |
| 344 | |
| 345 | def assert_same_structure(nest1, nest2, check_types=True, skip_if=None): |
| 346 | """ |
| 347 | Confirm two nested structures with the same structure. |
| 348 | """ |
| 349 | if skip_if is not None and (skip_if(nest1) or skip_if(nest2)): |
| 350 | return |
| 351 | len_nest1 = len(flatten(nest1)) if is_sequence(nest1) else 1 |
| 352 | len_nest2 = len(flatten(nest2)) if is_sequence(nest2) else 1 |
| 353 | if len_nest1 != len_nest2 and skip_if is None: |
| 354 | raise ValueError( |
| 355 | "The two structures don't have the same number of " |
| 356 | f"elements.\n\nFirst structure ({len_nest1} elements): {nest1}\n\n" |
| 357 | f"Second structure ({len_nest2} elements): {nest2}" |
| 358 | ) |
| 359 | _recursive_assert_same_structure(nest1, nest2, check_types, skip_if) |
| 360 | |
| 361 | |
| 362 | def _is_symmetric_padding(padding, data_dim): |
no test coverage detected