|
1 | 1 | from windpowerlib.tools import smallest_difference |
| 2 | +import pandas as pd |
2 | 3 |
|
3 | 4 |
|
4 | 5 | class TestTools: |
5 | 6 |
|
6 | 7 | def test_smallest_difference(self): |
7 | | - # value_1 closer to comparative value |
8 | | - expected_output = (30, 5.0) |
9 | | - assert smallest_difference(30, 10, 100, 5.0, 6.0) == expected_output |
10 | | - # value_1 = comparative value |
11 | | - expected_output = (100, 5.0) |
12 | | - assert smallest_difference(100, 10, 100, 5.0, 6.0) == expected_output |
13 | | - # value_2 closer to comparative value |
14 | | - expected_output = (30, 6.0) |
15 | | - assert smallest_difference(10, 30, 100, 5.0, 6.0) == expected_output |
16 | | - # value_2 = comparative value |
17 | | - expected_output = (100, 6.0) |
18 | | - assert smallest_difference(10, 100, 100, 5.0, 6.0) == expected_output |
19 | | - # value_2 is None |
20 | | - expected_output = (10, 5.0) |
21 | | - assert smallest_difference(10, None, 100, 5.0, 6.0) == expected_output |
| 8 | + parameters = {'data_frame': pd.DataFrame(data={'v_wind': |
| 9 | + [4.0, 5.0, 6.0]}, |
| 10 | + index=[100, 150, 200]), |
| 11 | + 'comp_value': 100, |
| 12 | + 'column_name': 'v_wind'} |
| 13 | + # TODO: test v_wind as pd.Series and np.array |
| 14 | + |
| 15 | + # comparative value is an index of data frame |
| 16 | + expected_output = (100, 4.0) |
| 17 | + assert smallest_difference(**parameters) == expected_output |
| 18 | + # comparative value between indices of data frame |
| 19 | + expected_output = (150, 5.0) |
| 20 | + parameters['comp_value'] = 175 |
| 21 | + assert smallest_difference(**parameters) == expected_output |
| 22 | + # comparative value > indices of data frame |
| 23 | + expected_output = (200, 6.0) |
| 24 | + parameters['comp_value'] = 250 |
| 25 | + assert smallest_difference(**parameters) == expected_output |
| 26 | + # comparative value < indices of data frame |
| 27 | + expected_output = (100, 4.0) |
| 28 | + parameters['comp_value'] = 90 |
| 29 | + assert smallest_difference(**parameters) == expected_output |
0 commit comments