@@ -25,8 +25,9 @@ class TestOptimalTimeCore:
25
25
def test_energy_data_blank (self ):
26
26
"""test if no energy data is provided, the result defaults to the request time"""
27
27
timestamp , message , average_percent_renewable = ts .predict_optimal_time (
28
- None , 1 , 1 , 1 , self .hard_finish_time_1 , self .request_time_1
28
+ None , 1 , 1 , self .hard_finish_time_1 , self .request_time_1
29
29
)
30
+ # print(timestamp, message, average_percent_renewable)
30
31
assert timestamp == int (self .request_time_1 .timestamp ())
31
32
assert message == Message .NO_DATA
32
33
assert average_percent_renewable == 0
@@ -37,9 +38,8 @@ def test_neg_hour(self):
37
38
self .dummy_energy_data_1 ,
38
39
- 1 ,
39
40
1 ,
40
- 1 ,
41
41
self .hard_finish_time_1 ,
42
- self .request_time_1 ,
42
+ self .request_time_1
43
43
)
44
44
assert timestamp == int (self .request_time_1 .timestamp ())
45
45
assert message == Message .INVALID_DATA
@@ -51,9 +51,8 @@ def test_zero_hour(self):
51
51
self .dummy_energy_data_1 ,
52
52
0 ,
53
53
1 ,
54
- 1 ,
55
54
self .hard_finish_time_1 ,
56
- self .request_time_1 ,
55
+ self .request_time_1
57
56
)
58
57
assert timestamp == int (self .request_time_1 .timestamp ())
59
58
assert message == Message .INVALID_DATA
@@ -65,21 +64,26 @@ def test_neg_min(self):
65
64
self .dummy_energy_data_1 ,
66
65
1 ,
67
66
- 1 ,
68
- 1 ,
69
67
self .hard_finish_time_1 ,
70
- self .request_time_1 ,
68
+ self .request_time_1
71
69
)
72
70
assert timestamp == int (self .request_time_1 .timestamp ())
73
71
assert message == Message .INVALID_DATA
74
72
assert average_percent_renewable == 0
75
73
76
74
def test_zero_per_renew (self ):
77
75
"""test if 0 % renewable , the result defaults to the request time"""
76
+ dummy_energy_data_2 = pd .DataFrame (
77
+ {
78
+ "startTimeUTC" : [1 , 2 , 3 ],
79
+ "totalRenewable" : [1 , 2 , 3 ],
80
+ "percent_renewable" : [0 , 0 , 0 ],
81
+ }
82
+ )
78
83
timestamp , message , average_percent_renewable = ts .predict_optimal_time (
79
- self . dummy_energy_data_1 ,
84
+ dummy_energy_data_2 ,
80
85
1 ,
81
86
0 ,
82
- - 10 ,
83
87
self .hard_finish_time_1 ,
84
88
self .request_time_1 ,
85
89
)
@@ -89,13 +93,19 @@ def test_zero_per_renew(self):
89
93
90
94
def test_neg_per_renew (self ):
91
95
"""test if negative -ve % renew is provided, the result defaults to the request time"""
96
+ dummy_energy_data_3 = pd .DataFrame (
97
+ {
98
+ "startTimeUTC" : [1 , 2 , 3 ],
99
+ "totalRenewable" : [1 , 2 , 3 ],
100
+ "percent_renewable" : [- 1 , - 4 , - 5 ],
101
+ }
102
+ )
92
103
timestamp , message , average_percent_renewable = ts .predict_optimal_time (
93
- self . dummy_energy_data_1 ,
104
+ dummy_energy_data_3 ,
94
105
1 ,
95
106
0 ,
96
- 0 ,
97
107
self .hard_finish_time_1 ,
98
- self .request_time_1 ,
108
+ self .request_time_1
99
109
)
100
110
assert timestamp == int (self .request_time_1 .timestamp ())
101
111
assert message == Message .NEGATIVE_PERCENT_RENEWABLE
@@ -107,9 +117,8 @@ def test_less_energy_data(self):
107
117
self .dummy_energy_data_1 ,
108
118
20 ,
109
119
0 ,
110
- 10 ,
111
120
self .hard_finish_time_1 ,
112
- self .request_time_1 ,
121
+ self .request_time_1
113
122
)
114
123
assert timestamp == int (self .request_time_1 .timestamp ())
115
124
assert message == Message .RUNTIME_LONGER_THAN_DEADLINE_ALLOWS
@@ -118,7 +127,7 @@ def test_if_incorrect_data_provided(self):
118
127
"""this is to test if energy data provided does not contain the data for the request time"""
119
128
data = pd .read_csv ("tests/data/DE_forecast1.csv" )
120
129
timestamp , message , average_percent_renewable = ts .predict_optimal_time (
121
- data , 20 , 0 , 10 , self .hard_finish_time_2 , self .request_time_2
130
+ data , 20 , 0 , self .hard_finish_time_2 , self .request_time_2
122
131
)
123
132
assert timestamp == int (self .request_time_2 .timestamp ())
124
133
assert message == Message .NO_DATA
@@ -225,7 +234,7 @@ def test_multiple(self):
225
234
def test_data_validation_country (self ):
226
235
timestamp1 = int (datetime .now (timezone .utc ).timestamp ())
227
236
timestamp , message , average_percent_renewable = ts .predict_now (
228
- "UFO" , 10 , 0 , datetime (2024 , 9 , 7 ), "percent_renewable" , 30
237
+ "UFO" , 10 , 0 , datetime (2024 , 9 , 7 ), "percent_renewable"
229
238
)
230
239
print (timestamp1 , timestamp , message )
231
240
assert timestamp - timestamp1 <= 10
@@ -269,7 +278,6 @@ def test_all_country():
269
278
energy_data ,
270
279
row ["runtime_hour" ],
271
280
row ["runtime_min" ],
272
- row ["percent_renewable" ],
273
281
end ,
274
282
start ,
275
283
)
0 commit comments