66import inspect
77
88import numpy as np
9+ from numpy .testing import assert_allclose
910import pandas as pd
10-
1111import pytest
12- from .conftest import assert_series_equal
13- from numpy .testing import assert_allclose
1412import scipy .interpolate
1513
1614from pvlib import iam as _iam
15+ from pvlib .tests .conftest import assert_series_equal
1716
1817
1918def test_get_builtin_models ():
20- builtin_models = _iam .get_builtin_models ()
19+ builtin_models = _iam ._get_builtin_models ()
2120
2221 models = set (builtin_models .keys ())
2322 models_expected = {
@@ -28,26 +27,14 @@ def test_get_builtin_models():
2827 for model in models :
2928 builtin_model = builtin_models [model ]
3029
31- if model == "sapm" :
32- # sapm has exceptional interface requiring module_parameters.
33- params_required_expected = set (
34- k for k , v in inspect .signature (
35- builtin_model ["func" ]
36- ).parameters .items () if v .default is inspect .Parameter .empty
37- )
38- assert {"aoi" , "module" } == params_required_expected , model
39-
40- assert builtin_model ["params_required" ] == \
41- {'B0' , 'B1' , 'B2' , 'B3' , 'B4' , 'B5' }, model
42- else :
43- params_required_expected = set (
44- k for k , v in inspect .signature (
45- builtin_model ["func" ]
46- ).parameters .items () if v .default is inspect .Parameter .empty
47- )
48- assert builtin_model ["params_required" ].union (
49- {"aoi" }
50- ) == params_required_expected , model
30+ params_required_expected = set (
31+ k for k , v in inspect .signature (
32+ builtin_model ["func" ]
33+ ).parameters .items () if v .default is inspect .Parameter .empty
34+ )
35+ assert builtin_model ["params_required" ].union (
36+ {"aoi" }
37+ ) == params_required_expected , model
5138
5239 params_optional_expected = set (
5340 k for k , v in inspect .signature (
@@ -266,7 +253,15 @@ def test_iam_interp():
266253])
267254def test_sapm (sapm_module_params , aoi , expected ):
268255
269- out = _iam .sapm (aoi , sapm_module_params )
256+ out = _iam .sapm (
257+ aoi ,
258+ sapm_module_params ["B0" ],
259+ sapm_module_params ["B1" ],
260+ sapm_module_params ["B2" ],
261+ sapm_module_params ["B3" ],
262+ sapm_module_params ["B4" ],
263+ sapm_module_params ["B5" ],
264+ )
270265
271266 if isinstance (aoi , pd .Series ):
272267 assert_series_equal (out , expected , check_less_precise = 4 )
@@ -276,13 +271,38 @@ def test_sapm(sapm_module_params, aoi, expected):
276271
277272def test_sapm_limits ():
278273 module_parameters = {'B0' : 5 , 'B1' : 0 , 'B2' : 0 , 'B3' : 0 , 'B4' : 0 , 'B5' : 0 }
279- assert _iam .sapm (1 , module_parameters ) == 5
274+ assert _iam .sapm (
275+ 1 ,
276+ module_parameters ["B0" ],
277+ module_parameters ["B1" ],
278+ module_parameters ["B2" ],
279+ module_parameters ["B3" ],
280+ module_parameters ["B4" ],
281+ module_parameters ["B5" ],
282+ ) == 5
280283
281284 module_parameters = {'B0' : 5 , 'B1' : 0 , 'B2' : 0 , 'B3' : 0 , 'B4' : 0 , 'B5' : 0 }
282- assert _iam .sapm (1 , module_parameters , upper = 1 ) == 1
285+ assert _iam .sapm (
286+ 1 ,
287+ module_parameters ["B0" ],
288+ module_parameters ["B1" ],
289+ module_parameters ["B2" ],
290+ module_parameters ["B3" ],
291+ module_parameters ["B4" ],
292+ module_parameters ["B5" ],
293+ upper = 1 ,
294+ ) == 1
283295
284296 module_parameters = {'B0' : - 5 , 'B1' : 0 , 'B2' : 0 , 'B3' : 0 , 'B4' : 0 , 'B5' : 0 }
285- assert _iam .sapm (1 , module_parameters ) == 0
297+ assert _iam .sapm (
298+ 1 ,
299+ module_parameters ["B0" ],
300+ module_parameters ["B1" ],
301+ module_parameters ["B2" ],
302+ module_parameters ["B3" ],
303+ module_parameters ["B4" ],
304+ module_parameters ["B5" ],
305+ ) == 0
286306
287307
288308def test_marion_diffuse_model (mocker ):
0 commit comments