11from windpowerlib .tools import smallest_difference , linear_extra_interpolation
22import pandas as pd
3+ import numpy as np
34from pandas .util .testing import assert_series_equal
5+ from numpy .testing import assert_array_equal , assert_allclose
46
57
68class TestTools :
@@ -12,37 +14,52 @@ def test_smallest_difference(self):
1214 pd .Series (data = [4.0 , 5.0 , 6.0 ]),
1315 pd .Series (data = [8.0 , 10.0 , 14.0 ]),
1416 pd .Series (data = [16.0 , 20.0 , 28.0 ])]}, index = [100 , 150 , 200 ])
17+ data_frame_arr = pd .DataFrame (data = {'v_wind' : [
18+ np .array ([4.0 , 5.0 , 6.0 ]),
19+ np .array ([8.0 , 10.0 , 14.0 ]),
20+ np .array ([16.0 , 20.0 , 28.0 ])]}, index = [100 , 150 , 200 ])
1521 parameters = {'comp_value' : 100 ,
1622 'column_name' : 'v_wind' }
17- # TODO: test v_wind as np.array
1823
1924 # comparative value is an index of data frame
2025 exp_output = (100 , 4.0 )
2126 assert smallest_difference (data_frame , ** parameters ) == exp_output
2227 exp_series = pd .Series (data = [4.0 , 5.0 , 6.0 ])
2328 assert_series_equal (smallest_difference (data_frame_series ,
2429 ** parameters )[1 ], exp_series )
30+ exp_arr = np .array ([4.0 , 5.0 , 6.0 ])
31+ assert_array_equal (smallest_difference (data_frame_arr ,
32+ ** parameters )[1 ], exp_arr )
2533 # comparative value between indices of data frame
2634 exp_output = (150 , 5.0 )
2735 parameters ['comp_value' ] = 175
2836 assert smallest_difference (data_frame , ** parameters ) == exp_output
2937 exp_series = pd .Series (data = [8.0 , 10.0 , 14.0 ])
3038 assert_series_equal (smallest_difference (data_frame_series ,
3139 ** parameters )[1 ], exp_series )
40+ exp_arr = np .array ([8.0 , 10.0 , 14.0 ])
41+ assert_array_equal (smallest_difference (data_frame_arr ,
42+ ** parameters )[1 ], exp_arr )
3243 # comparative value > indices of data frame
3344 exp_output = (200 , 6.0 )
3445 parameters ['comp_value' ] = 250
3546 assert smallest_difference (data_frame , ** parameters ) == exp_output
3647 exp_series = pd .Series (data = [16.0 , 20.0 , 28.0 ])
3748 assert_series_equal (smallest_difference (data_frame_series ,
3849 ** parameters )[1 ], exp_series )
50+ exp_arr = np .array ([16.0 , 20.0 , 28.0 ])
51+ assert_array_equal (smallest_difference (data_frame_arr ,
52+ ** parameters )[1 ], exp_arr )
3953 # comparative value < indices of data frame
4054 exp_output = (100 , 4.0 )
4155 parameters ['comp_value' ] = 90
4256 assert smallest_difference (data_frame , ** parameters ) == exp_output
4357 exp_series = pd .Series (data = [4.0 , 5.0 , 6.0 ])
4458 assert_series_equal (smallest_difference (data_frame_series ,
4559 ** parameters )[1 ], exp_series )
60+ exp_arr = np .array ([4.0 , 5.0 , 6.0 ])
61+ assert_array_equal (smallest_difference (data_frame_arr ,
62+ ** parameters )[1 ], exp_arr )
4663
4764 def test_linear_extra_interpolation (self ):
4865 weather = pd .DataFrame (data = {'v_wind' : [4.0 , 5.0 , 6.0 ]},
0 commit comments