@@ -191,7 +191,25 @@ def test_get_package_info(monkeypatch, inputs, expected):
191191 assert actual_metadata == expected
192192
193193
194- def test_compute_mu_using_xraydb ():
195- sample , energy , density = "ZrO2" , 17445.362740959618 , 1.009
196- actual_mu = compute_mu_using_xraydb (sample , energy , density = density )
197- assert actual_mu == pytest .approx (1.252 , rel = 1e-4 , abs = 0.1 )
194+ params_mu = [
195+ # C1: user didn't specify density or packing fraction
196+ ({"sample_composition" : "H2O" , "energy" : 10000 , "density" : None , "packing_fraction" : 1 }, 0.5330 ),
197+ # C2: user specified packing fraction only
198+ ({"sample_composition" : "H2O" , "energy" : 10000 , "density" : None , "packing_fraction" : 0.5 }, 0.2665 ),
199+ # C3: user specified density only
200+ ({"sample_composition" : "H2O" , "energy" : 10000 , "density" : 0.997 , "packing_fraction" : 1 }, 0.5330 ),
201+ ({"sample_composition" : "H2O" , "energy" : 10000 , "density" : 0.4985 , "packing_fraction" : 1 }, 0.2665 ),
202+ # C4: user specified a standard density and a packing fraction
203+ ({"sample_composition" : "H2O" , "energy" : 10000 , "density" : 0.997 , "packing_fraction" : 0.5 }, 0.2665 ),
204+ ]
205+
206+
207+ @pytest .mark .parametrize ("inputs, expected" , params_mu )
208+ def test_compute_mu_using_xraydb (inputs , expected ):
209+ actual_mu = compute_mu_using_xraydb (
210+ inputs ["sample_composition" ],
211+ inputs ["energy" ],
212+ density = inputs ["density" ],
213+ packing_fraction = inputs ["packing_fraction" ],
214+ )
215+ assert actual_mu == pytest .approx (expected , rel = 0.01 , abs = 0.1 )
0 commit comments