(ds: Dataset, check_default_indexes: bool)
| 456 | |
| 457 | |
| 458 | def _assert_dataset_invariants(ds: Dataset, check_default_indexes: bool): |
| 459 | assert isinstance(ds._variables, dict), type(ds._variables) |
| 460 | |
| 461 | for k, v in ds._variables.items(): |
| 462 | _assert_variable_invariants(v, k) |
| 463 | |
| 464 | assert isinstance(ds._coord_names, set), ds._coord_names |
| 465 | assert ds._coord_names <= ds._variables.keys(), ( |
| 466 | ds._coord_names, |
| 467 | set(ds._variables), |
| 468 | ) |
| 469 | |
| 470 | assert type(ds._dims) is dict, ds._dims |
| 471 | assert all(isinstance(v, int) for v in ds._dims.values()), ds._dims |
| 472 | var_dims: set[Hashable] = set() |
| 473 | for v in ds._variables.values(): |
| 474 | var_dims.update(v.dims) |
| 475 | assert ds._dims.keys() == var_dims, (set(ds._dims), var_dims) |
| 476 | assert all( |
| 477 | ds._dims[k] == v.sizes[k] for v in ds._variables.values() for k in v.sizes |
| 478 | ), (ds._dims, {k: v.sizes for k, v in ds._variables.items()}) |
| 479 | |
| 480 | assert ds._indexes is not None |
| 481 | _assert_indexes_invariants_checks( |
| 482 | ds._indexes, ds._variables, ds._dims, check_default=check_default_indexes |
| 483 | ) |
| 484 | |
| 485 | assert isinstance(ds._encoding, type(None) | dict) |
| 486 | assert isinstance(ds._attrs, type(None) | dict) |
| 487 | |
| 488 | |
| 489 | def _assert_internal_invariants( |
no test coverage detected
searching dependent graphs…