Skip to content

Commit 3578434

Browse files
committed
Add MeterReadingServiceTest
1 parent a5b9d03 commit 3578434

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

rest/service/MeterReadingService.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include <iostream>
1111
#include <map>
12+
#include <unordered_map>
1213
#include <optional>
1314
#include <string>
1415
#include <vector>

test/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ add_executable(domain_test)
1212
target_sources(domain_test PRIVATE domain/PricePlanTest.cpp)
1313
target_link_libraries(domain_test PRIVATE GTest::gmock_main rest)
1414

15+
add_executable(service_test)
16+
target_sources(service_test PRIVATE service/MeterReadingServiceTest.cpp)
17+
target_link_libraries(service_test PRIVATE GTest::gmock_main rest)
18+
1519
add_test(endpoint_test endpoint_test)
1620
add_test(controller_test controller_test)
17-
add_test(domain_test domain_test)
21+
add_test(domain_test domain_test)
22+
add_test(service_test service_test)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include <gmock/gmock.h>
2+
#include <rest/service/MeterReadingService.h>
3+
4+
TEST(MeterReadingServiceTest, GetReadingsShouldReturnNullGivenMeterIdThatDoesNotExist) {
5+
std::unordered_map<std::string, std::vector<ElectricityReading>> meterAssociatedReadings;
6+
MeterReadingService meterReadingService{meterAssociatedReadings};
7+
8+
EXPECT_FALSE(meterReadingService.getReadings("unknown-id").has_value());
9+
}
10+
11+
TEST(MeterReadingServiceTest, GetReadingsShouldReturnMeterReadingsGivenMeterReadingThatExists) {
12+
std::unordered_map<std::string, std::vector<ElectricityReading>> meterAssociatedReadings;
13+
MeterReadingService meterReadingService{meterAssociatedReadings};
14+
std::vector<ElectricityReading> emptyReadings;
15+
meterReadingService.storeReadings("some-id", emptyReadings);
16+
17+
auto readings = meterReadingService.getReadings("some-id");
18+
19+
EXPECT_TRUE(readings.has_value());
20+
EXPECT_TRUE(readings.value().empty());
21+
}

0 commit comments

Comments
 (0)