22SPDX-FileCopyrightText: 2019 oemof developer group <[email protected] > 33SPDX-License-Identifier: MIT
44"""
5+ from typing import Dict
56
6- import pandas as pd
77import numpy as np
8+ import pandas as pd
89import pytest
910from numpy .testing import assert_allclose
1011from pandas .util .testing import assert_series_equal
11-
1212from windpowerlib .power_output import (
1313 power_coefficient_curve ,
1414 power_curve ,
1717
1818
1919class TestPowerOutput :
20- def test_power_coefficient_curve (self ):
21- parameters = {
20+ def setup_class (self ):
21+ self . parameters : Dict = {
2222 "wind_speed" : pd .Series (data = [2.0 , 5.5 , 7.0 ]),
2323 "density" : pd .Series (data = [1.3 , 1.3 , 1.3 ]),
2424 "rotor_diameter" : 80 ,
2525 "power_coefficient_curve_wind_speeds" : pd .Series ([4.0 , 5.0 , 6.0 ]),
2626 "power_coefficient_curve_values" : pd .Series ([0.3 , 0.4 , 0.5 ]),
2727 }
2828
29+ def test_power_coefficient_curve_1 (self ):
2930 # Test wind_speed as pd.Series with density and power_coefficient_curve
3031 # as pd.Series and np.array
3132 power_output_exp = pd .Series (
3233 data = [0.0 , 244615.399 , 0.0 ], name = "feedin_power_plant"
3334 )
3435 assert_series_equal (
35- power_coefficient_curve (** parameters ), power_output_exp
36+ power_coefficient_curve (** self . parameters ), power_output_exp
3637 )
37- parameters ["density" ] = np .array (parameters ["density" ])
38+
39+ parameters = self .parameters
40+ parameters ["density" ].to_numpy ()
3841 assert_series_equal (
3942 power_coefficient_curve (** parameters ), power_output_exp
4043 )
44+
4145 parameters ["power_coefficient_curve_values" ] = np .array (
4246 parameters ["power_coefficient_curve_values" ]
4347 )
@@ -47,14 +51,22 @@ def test_power_coefficient_curve(self):
4751 assert_series_equal (
4852 power_coefficient_curve (** parameters ), power_output_exp
4953 )
54+
55+ def test_power_coefficient_curve_output_types (self ):
56+ parameters = self .parameters
5057 # Test wind_speed as np.array with density and power_coefficient_curve
5158 # as np.array and pd.Series
59+ assert isinstance (power_coefficient_curve (** parameters ), pd .Series )
60+ parameters ["wind_speed" ] = np .array (parameters ["wind_speed" ])
61+ assert isinstance (power_coefficient_curve (** parameters ), np .ndarray )
62+
63+ def test_power_coefficient_curve_2 (self ):
64+ parameters = self .parameters
5265 power_output_exp = np .array ([0.0 , 244615.399 , 0.0 ])
5366 parameters ["wind_speed" ] = np .array (parameters ["wind_speed" ])
5467 assert_allclose (
5568 power_coefficient_curve (** parameters ), power_output_exp
5669 )
57- assert isinstance (power_coefficient_curve (** parameters ), np .ndarray )
5870 parameters ["density" ] = pd .Series (data = parameters ["density" ])
5971 assert_allclose (
6072 power_coefficient_curve (** parameters ), power_output_exp
0 commit comments