Skip to content

Commit 1b993ad

Browse files
committed
Fix test methods
1 parent ba64dff commit 1b993ad

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

src/test/java/com/example/MainTest.java

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -147,28 +147,36 @@ void displayMinMaxPrices_withValidData() {
147147

148148
@Test
149149
void displaySortedPrices_whenRequested() {
150-
String mockJson = """
151-
[{"SEK_per_kWh":0.30,"EUR_per_kWh":0.03,"EXR":10.0,"time_start":"2025-09-04T00:00:00+02:00","time_end":"2025-09-04T01:00:00+02:00"},
152-
{"SEK_per_kWh":0.10,"EUR_per_kWh":0.01,"EXR":10.0,"time_start":"2025-09-04T01:00:00+02:00","time_end":"2025-09-04T02:00:00+02:00"},
153-
{"SEK_per_kWh":0.20,"EUR_per_kWh":0.02,"EXR":10.0,"time_start":"2025-09-04T02:00:00+02:00","time_end":"2025-09-04T03:00:00+02:00"},
154-
{"SEK_per_kWh":0.10,"EUR_per_kWh":0.01,"EXR":10.0,"time_start":"2025-09-04T03:00:00+02:00","time_end":"2025-09-04T04:00:00+02:00"}]""";
150+
// This test ensures charging window can span days when next day data exists
151+
LocalDate today = LocalDate.of(2025, 9, 4);
152+
LocalDate tomorrow = today.plusDays(1);
155153

156-
ElpriserAPI.setMockResponse(mockJson);
154+
String mockJsonToday = """
155+
[{"SEK_per_kWh":0.30,"EUR_per_kWh":0.03,"EXR":10.0,"time_start":"2025-09-04T20:00:00+02:00","time_end":"2025-09-04T21:00:00+02:00"},
156+
{"SEK_per_kWh":0.10,"EUR_per_kWh":0.01,"EXR":10.0,"time_start":"2025-09-04T21:00:00+02:00","time_end":"2025-09-04T22:00:00+02:00"},
157+
{"SEK_per_kWh":0.20,"EUR_per_kWh":0.02,"EXR":10.0,"time_start":"2025-09-04T22:00:00+02:00","time_end":"2025-09-04T23:00:00+02:00"},
158+
{"SEK_per_kWh":0.10,"EUR_per_kWh":0.01,"EXR":10.0,"time_start":"2025-09-04T23:00:00+02:00","time_end":"2025-09-04T00:00:00+02:00"}]""";
159+
String mockJsonTomorrow = """
160+
[{"SEK_per_kWh":0.10,"EUR_per_kWh":0.01,"EXR":10.0,"time_start":"2025-09-05T00:00:00+02:00","time_end":"2025-09-05T01:00:00+02:00"},
161+
{"SEK_per_kWh":0.15,"EUR_per_kWh":0.015,"EXR":10.0,"time_start":"2025-09-05T01:00:00+02:00","time_end":"2025-09-05T02:00:00+02:00"},
162+
{"SEK_per_kWh":0.15,"EUR_per_kWh":0.015,"EXR":10.0,"time_start":"2025-09-05T02:00:00+02:00","time_end":"2025-09-05T03:00:00+02:00"}]""";
163+
164+
ElpriserAPI.setMockResponseForDate(today, mockJsonToday);
165+
ElpriserAPI.setMockResponseForDate(tomorrow, mockJsonTomorrow);
157166

158167
Main.main(new String[]{"--zone", "SE2", "--date", "2025-09-04", "--sorted"});
159168

160169
String output = bos.toString();
161170

162171
// Expected sorted output (ascending by price)
163172
List<String> expectedOrder = List.of(
164-
"2025-09-04 00-01 30,00 öre",
165-
"2025-09-04 00-01 30,00 öre",
166-
"2025-09-04 02-03 20,00 öre",
167-
"2025-09-04 02-03 20,00 öre",
168-
"2025-09-04 01-02 10,00 öre",
169-
"2025-09-04 03-04 10,00 öre",
170-
"2025-09-04 01-02 10,00 öre",
171-
"2025-09-04 03-04 10,00 öre"
173+
"2025-09-04 20-21 30,00 öre",
174+
"2025-09-04 22-23 20,00 öre",
175+
"2025-09-05 01-02 15,00 öre",
176+
"2025-09-05 02-03 15,00 öre",
177+
"2025-09-04 21-22 10,00 öre",
178+
"2025-09-04 23-00 10,00 öre",
179+
"2025-09-05 00-01 10,00 öre"
172180
);
173181

174182
// Extract actual lines that match the pattern

0 commit comments

Comments
 (0)