Coverage for install/scipp/core/_sizes.py: 75%

8 statements  

« prev     ^ index     » next       coverage.py v7.4.0, created at 2024-04-28 01:28 +0000

1# SPDX-License-Identifier: BSD-3-Clause 

2# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) 

3from typing import Dict, List, Optional, Sequence, Tuple, Union 

4 

5 

6def _parse_dims_shape_sizes( 

7 dims: Optional[Union[List[str], Tuple[str, ...]]] = None, 

8 shape: Optional[Sequence[int]] = None, 

9 sizes: Optional[Dict[str, int]] = None, 

10): 

11 if sizes is not None: 

12 if dims is not None or shape is not None: 

13 raise ValueError( 

14 "When sizes is specified, dims and shape must " 

15 "both be None. Got dims: {}, shape: {}".format(dims, shape) 

16 ) 

17 dims = list(sizes.keys()) 

18 shape = list(sizes.values()) 

19 return {"dims": dims, "shape": shape}