@@ -153,3 +153,32 @@ def test_manually_change_state_cached_result(self):
153153 self .assertEqual (self .cachedResult (), 2 )
154154 self .instance .state_var += 1
155155 self .assertEqual (self .cachedResult (), 2 )
156+
157+
158+ class TestSubjectKwargs (TestCase ):
159+ def subject (self , a , b ):
160+ return a + b
161+
162+ @args ({"a" : 1 , "b" : 2 })
163+ def test_kwarg_values (self ):
164+ self .assertDictEqual (self .subjectKwargs (), {"a" : 1 , "b" : 2 })
165+
166+ @args ({"a" : 3 , "b" : 4 })
167+ def test_different_kwarg_values (self ):
168+ self .assertDictEqual (self .subjectKwargs (), {"a" : 3 , "b" : 4 })
169+
170+ @args ({"a" : 1 , "b" : 2 })
171+ def test_kwargs_are_not_mutated (self ):
172+ self .subjectKwargs ()["b" ] = None
173+ self .assertDictEqual (self ._subjectKwargs , {"a" : 1 , "b" : 2 })
174+ self .assertDictEqual (self .subjectKwargs (), {"a" : 1 , "b" : 2 })
175+
176+
177+ class TestSubjectMutableKwargs (TestCase ):
178+ def subject (self , lst ):
179+ return lst
180+
181+ @args ({"lst" : [1 , 2 ]})
182+ def test_mutable_kwargs (self ):
183+ self .subjectKwargs ()["lst" ].append (3 )
184+ self .assertDictEqual (self ._subjectKwargs , {"lst" : [1 , 2 ]})
0 commit comments