diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 5787d34..1b7c737 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -12,13 +12,7 @@
-
-
-
-
-
-
@@ -37,8 +31,8 @@
-
-
+
+
@@ -46,6 +40,15 @@
+
+
+
+
+
+
+
+
+
@@ -61,8 +64,8 @@
-
-
+
+
@@ -73,17 +76,17 @@
-
-
+
+
-
+
-
-
+
+
@@ -184,11 +187,11 @@
-
-
+
+
@@ -436,12 +439,12 @@
-
+
-
+
@@ -454,7 +457,6 @@
-
@@ -504,13 +506,6 @@
-
-
-
-
-
-
-
@@ -1213,16 +1208,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -1239,29 +1224,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1272,13 +1237,6 @@
-
-
-
-
-
-
-
@@ -1295,13 +1253,57 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FlippR-Driver/src/output/detail/OutputDriver.cpp b/FlippR-Driver/src/output/detail/OutputDriver.cpp
index 5e3864c..2d9658d 100644
--- a/FlippR-Driver/src/output/detail/OutputDriver.cpp
+++ b/FlippR-Driver/src/output/detail/OutputDriver.cpp
@@ -41,22 +41,22 @@ void OutputDriver::deactivate_displays() const
void OutputDriver::deactivate_all_lamps() const
{
- std::for_each(lamps.begin(), lamps.end(), [](items::Lamp& lamp){lamp.deactivate();});
+ std::for_each(lamps.begin(), lamps.end(), [](std::pair> lamp){lamp.second->deactivate();});
}
void OutputDriver::activate_all_lamps() const
{
- std::for_each(lamps.begin(), lamps.end(), [](items::Lamp& lamp){lamp.activate();});
+ std::for_each(lamps.begin(), lamps.end(), [](std::pair> lamp){lamp.second->activate();});
}
void OutputDriver::rotate_all_lamps() const
{
- for(auto lamp = lamps.begin(); lamp != lamps.end(); lamp++)
+ for(const auto & lamp : lamps)
{
- lamp->second->activate();
+ lamp.second->activate();
// ToDo sleep time + is this thread safe??
std::this_thread::sleep_for(std::chrono::milliseconds(10));
- lamp->second->deactivate();
+ lamp.second->deactivate();
}
}
diff --git a/FlippR-Driver/tests/output/TestOutputDriver.cpp b/FlippR-Driver/tests/output/TestOutputDriver.cpp
index 8ad2078..13a1adf 100644
--- a/FlippR-Driver/tests/output/TestOutputDriver.cpp
+++ b/FlippR-Driver/tests/output/TestOutputDriver.cpp
@@ -26,15 +26,33 @@ SCENARIO("The OutputDriver should activate the displays")
{
Mock display_controller;
When(Method(display_controller, activate_displays)).AlwaysReturn();
- output::detail::OutputDriver outputDriver(std::make_unique(display_controller), nullptr, nullptr, nullptr, nullptr);
- output::detail::OutputDriver output_driver(std::make_unique(display_controller), NULL, nullptr, nullptr, nullptr);
+ output::detail::OutputDriver output_driver(std::make_unique(display_controller), {}, {}, {}, {});
WHEN("The displays get activated")
{
-
+ output_driver.activate_displays();
+ THEN("The display controller should be called")
+ {
+ REQUIRE((bool)Verify(Method(display_controller, activate_displays)));
+ }
}
}
-
}
-
+SCENARIO("The OutputDriver should deactivate the displays")
+{
+ GIVEN("An OutputDriver")
+ {
+ Mock display_controller;
+ When(Method(display_controller, deactivate_displays)).AlwaysReturn();
+ output::detail::OutputDriver output_driver(std::make_unique(display_controller), {}, {}, {}, {});
+ WHEN("The displays get deactivated")
+ {
+ output_driver.activate_displays();
+ THEN("The display controller should be called")
+ {
+ REQUIRE((bool)Verify(Method(display_controller, deactivate_displays)));
+ }
+ }
+ }
+}