1- from fastcs_odin .util import create_odin_parameters
1+ import pytest
2+ from fastcs .attributes import AttrR , AttrRW
3+ from fastcs .datatypes import Int
4+
5+ from fastcs_odin .util import (
6+ OdinParameter ,
7+ OdinParameterMetadata ,
8+ create_attribute ,
9+ create_odin_parameters ,
10+ )
211
312
413def test_create_parameters ():
@@ -15,3 +24,40 @@ def test_create_parameters():
1524 }
1625 parameters = create_odin_parameters (data )
1726 assert len (parameters ) == 0
27+
28+
29+ @pytest .mark .parametrize (
30+ "metadata, uri, expected_attr, group" ,
31+ [
32+ (
33+ OdinParameterMetadata (value = 0 , type = "int" , writeable = False ),
34+ ["name" ],
35+ AttrR (Int (), io_ref = None , group = None ),
36+ None ,
37+ ),
38+ (
39+ OdinParameterMetadata (value = 0 , type = "int" , writeable = True ),
40+ ["name" ],
41+ AttrRW (Int (), io_ref = None , group = None ),
42+ None ,
43+ ),
44+ (
45+ OdinParameterMetadata (value = 0 , type = "int" , writeable = False ),
46+ ["my_group" , "name" ],
47+ AttrR (Int (), io_ref = None , group = "MyGroup" ),
48+ None ,
49+ ),
50+ (
51+ OdinParameterMetadata (value = 0 , type = "int" , writeable = True ),
52+ ["my_group" , "name" ],
53+ AttrRW (Int (), io_ref = None , group = "MyOtherGroup" ),
54+ "MyOtherGroup" ,
55+ ),
56+ ],
57+ )
58+ def test_create_parameters_groups (metadata , uri , expected_attr , group ):
59+ param = OdinParameter (uri , metadata )
60+
61+ attr = create_attribute (param , "test" , group = group )
62+
63+ assert attr .group == expected_attr .group
0 commit comments