1515
1616from pydantic import BaseModel , ValidationError
1717
18- from ssvc ._mixins import _Base , _Keyed , _Namespaced , _Versioned
18+ from ssvc ._mixins import _Base , _Keyed , _Namespaced , _Valued , _Versioned
1919
2020
2121class TestMixins (unittest .TestCase ):
@@ -88,6 +88,22 @@ def test_keyed_create(self):
8888
8989 self .assertRaises (ValidationError , _Keyed )
9090
91+ def test_valued_create (self ):
92+ values = ("foo" , "bar" , "baz" , "quux" )
93+ obj = _Valued (values = values )
94+
95+ # length
96+ self .assertEqual (len (obj ), len (values ))
97+
98+ # iteration
99+ for i , v in enumerate (obj ):
100+ self .assertEqual (v , values [i ])
101+
102+ # values
103+ self .assertEqual (obj .values , values )
104+
105+ self .assertRaises (ValidationError , _Valued )
106+
91107 def test_mixin_combos (self ):
92108 # We need to test all the combinations
93109 mixins = [
@@ -103,9 +119,7 @@ def test_mixin_combos(self):
103119 "has_default" : True ,
104120 },
105121 ]
106- keys_with_defaults = [
107- x ["args" ].keys () for x in mixins if x ["has_default" ]
108- ]
122+ keys_with_defaults = [x ["args" ].keys () for x in mixins if x ["has_default" ]]
109123 # flatten the list
110124 keys_with_defaults = [
111125 item for sublist in keys_with_defaults for item in sublist
0 commit comments