File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ from enum import StrEnum
2+
3+ from typing_extensions import assert_type
4+
5+ from qcodes .metadatable .metadatable_base import EmptyMetaDataModel
6+ from qcodes .parameters import Parameter
7+ from qcodes .parameters .parameter import ParameterSnapshot
8+
9+
10+ def test_parameter_typed_metadata_basic ():
11+
12+ class ParamType (StrEnum ):
13+
14+ voltage = "voltage"
15+ current = "current"
16+
17+ class MyParameterMetadata (EmptyMetaDataModel ):
18+ param_type : ParamType
19+
20+ a = Parameter (
21+ name = "myparam" ,
22+ set_cmd = None ,
23+ get_cmd = None ,
24+ model = ParameterSnapshot ,
25+ metadata_model = MyParameterMetadata ,
26+ )
27+ a .metadata ["param_type" ] = (
28+ ParamType .voltage
29+ ) # TODO setting metadata should validate against the model
30+ value = 123
31+ a .set (value )
32+
33+ assert isinstance (a .typed_snapshot (), ParameterSnapshot )
34+ assert isinstance (a .typed_metadata (), MyParameterMetadata )
35+
36+ assert a .typed_metadata ().param_type == ParamType .voltage
37+ assert a .typed_snapshot ().value == value
38+ assert a .typed_snapshot ().name == "myparam"
39+
40+ assert_type (
41+ a .typed_metadata (), MyParameterMetadata
42+ ) # TODO this is only checked if the type checker runs agains the test
43+ assert_type (a .typed_snapshot (), ParameterSnapshot )
You can’t perform that action at this time.
0 commit comments