@@ -122,42 +122,65 @@ def test_assert_overrides_match_parameter_count():
122122 SIMULATION_CONDITION_ID : ['condition1' , 'condition1' ],
123123 PREEQUILIBRATION_CONDITION_ID : ['' , '' ],
124124 TIME : [1.0 , 2.0 ],
125- OBSERVABLE_PARAMETERS : ['' , '' ],
126- NOISE_PARAMETERS : ['' , '' ]
125+ OBSERVABLE_PARAMETERS : ['' , 'override1;override2 ' ],
126+ NOISE_PARAMETERS : ['noiseParOverride ' , '' ]
127127 })
128128
129- # No overrides
129+ # valid
130130 petab .assert_overrides_match_parameter_count (
131131 measurement_df_orig , observable_df )
132132
133- # Sigma override
133+ # 0 noise parameters given, 1 expected
134134 measurement_df = measurement_df_orig .copy ()
135- measurement_df .loc [0 , NOISE_PARAMETERS ] = 'noiseParOverride'
136- petab .assert_overrides_match_parameter_count (
137- measurement_df , observable_df )
135+ measurement_df .loc [0 , NOISE_PARAMETERS ] = ''
136+ with pytest .raises (AssertionError ):
137+ petab .assert_overrides_match_parameter_count (
138+ measurement_df , observable_df )
138139
140+ # 2 noise parameters given, 1 expected
141+ measurement_df = measurement_df_orig .copy ()
139142 measurement_df .loc [0 , NOISE_PARAMETERS ] = 'noiseParOverride;oneTooMuch'
140143 with pytest .raises (AssertionError ):
141144 petab .assert_overrides_match_parameter_count (
142145 measurement_df , observable_df )
143146
144- measurement_df .loc [0 , NOISE_PARAMETERS ] = 'noiseParOverride'
147+ # 1 noise parameter given, 0 allowed
148+ measurement_df = measurement_df_orig .copy ()
145149 measurement_df .loc [1 , NOISE_PARAMETERS ] = 'oneTooMuch'
146150 with pytest .raises (AssertionError ):
147151 petab .assert_overrides_match_parameter_count (
148152 measurement_df , observable_df )
149153
150- # Observable override
154+ # 0 observable parameters given, 2 expected
151155 measurement_df = measurement_df_orig .copy ()
152- measurement_df .loc [1 , OBSERVABLE_PARAMETERS ] = 'override1;override2'
153- petab .assert_overrides_match_parameter_count (
154- measurement_df , observable_df )
156+ measurement_df .loc [1 , OBSERVABLE_PARAMETERS ] = ''
157+ with pytest .raises (AssertionError ):
158+ petab .assert_overrides_match_parameter_count (
159+ measurement_df , observable_df )
155160
161+ # 1 observable parameters given, 2 expected
162+ measurement_df = measurement_df_orig .copy ()
156163 measurement_df .loc [1 , OBSERVABLE_PARAMETERS ] = 'oneMissing'
157164 with pytest .raises (AssertionError ):
158165 petab .assert_overrides_match_parameter_count (
159166 measurement_df , observable_df )
160167
168+ # 3 observable parameters given, 2 expected
169+ measurement_df = measurement_df_orig .copy ()
170+ measurement_df .loc [1 , OBSERVABLE_PARAMETERS ] = \
171+ 'override1;override2;oneTooMuch'
172+ with pytest .raises (AssertionError ):
173+ petab .assert_overrides_match_parameter_count (
174+ measurement_df , observable_df )
175+
176+ # 1 observable parameters given, 0 expected
177+ measurement_df = measurement_df_orig .copy ()
178+ measurement_df .loc [0 , OBSERVABLE_PARAMETERS ] = \
179+ 'oneTooMuch'
180+ with pytest .raises (AssertionError ):
181+ petab .assert_overrides_match_parameter_count (
182+ measurement_df , observable_df )
183+
161184
162185def test_assert_no_leading_trailing_whitespace ():
163186
0 commit comments